public AnalysisDebugRenderer(Font font, Player.Player player) { projection = Matrix4.CreateOrthographicOffCenter(0f, 1f, 1f, 0f, 0.0f, 10f); // 0,0 in top left float offset = 1.0f; int drawOrder = 1; components.Add(waterfall = new DebugSpectrumWaterfall() { DrawOrder = drawOrder++, ModelMatrix = GetLayout(0.5f, ref offset), ProjectionMatrix = projection }); components.Add(freqTracker = new BasicShaderHost("debugpeakfreq.glsl|vert", "debugpeakfreq.glsl|frag") { DrawOrder = drawOrder++, ModelMatrix = GetLayout(0.3f, ref offset), ProjectionMatrix = projection }); components.Add(spectrum = new DebugSpectrum() { DrawOrder = drawOrder++, ModelMatrix = GetLayout(0.2f, ref offset), ProjectionMatrix = projection }); components.Add(waterfall2 = new DebugSpectrum2() { DrawOrder = drawOrder++, ModelMatrix = GetLayout(0.2f, ref offset), ProjectionMatrix = projection }); components.Add(datagraphs = new DebugAudioData(font, player.FilterOutputNames) { DrawOrder = drawOrder++, ModelMatrix = GetLayout(10.0f, ref offset), ProjectionMatrix = projection }); components.Add(keyboardActions = new KeyboardActionManager() { KeyboardPriority = 100 }, 1); components.Add(parameterEditor = new ParameterEditor(font) { DrawOrder = drawOrder++ }); keyboardActions.Add(Keys.Up, 0, () => { ypostarget += yshift; }); keyboardActions.Add(Keys.Down, 0, () => { ypostarget -= yshift; }); //parameterEditor.AddParameter("p1", () => 123.4567f, (f) => { }); //parameterEditor.AddParameter("p2", () => 0.007f, (f) => { }); // copy parameters over foreach (var p in player.FilterParameters) { parameterEditor.AddParameter($"{p.Item1}_{p.Item2.Name}", p.Item2.GetValue, p.Item2.SetValue, p.Item2.Delta); } }
public BasicShaderRenderer() { components.Add(shaderHost = new BasicShaderHost(@"shaderhost.glsl|vert", @"effects/pulse.glsl|effect")); }