public InputDescription GetCurrentDescription(int jackInd) { ShaderOffsetMap[] maps; string name; switch (jackInd) { case VERT_JACK: name = "Vertex"; maps = _vertexOffsets; break; case RAST_JACK: name = "Rasterizer"; maps = _rasterizerOffsets; break; case FRAG_JACK: name = "Fragment"; maps = _fragmentOffsets; break; case POST_JACK: name = "Post Processing"; maps = _postProcessOffsets; break; case CAMERA_JACK: name = "Rasterizer Scale"; maps = new ShaderOffsetMap[] { _cameraScaleOffset }; break; case SELECT_JACK: name = "Select"; maps = new ShaderOffsetMap[] { _selectOffset }; break; default: name = "null"; maps = null; break; } int offsetInd = (int)(GetSelectVal() * (maps.Length - 1) + (.5f / maps.Length)); Debug.Log("Select val: " + GetSelectVal() + " offsetInd: " + offsetInd + " maps len: " + maps.Length + " jack ind: " + jackInd); return(new InputDescription(name, maps[offsetInd].Description, maps[offsetInd].Center)); }
private float TransformVal(float val, ShaderOffsetMap map, float scale) { float f = map.Amplitude * scale * (val / 1024.0f); if (map.Center == ShaderOffsetMap.CenterMode.One) { f += 1.0f; } else if (map.Center == ShaderOffsetMap.CenterMode.ZeroAbs) { f = Mathf.Abs(f); } else if (map.Center == ShaderOffsetMap.CenterMode.OneMinusZeroAbs) { f = 1.0f - Mathf.Abs(f); } return(f); }