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 VisHost(Player.Player player) : base( GameWindowSettings.Default, //new GameWindowSettings { // IsMultiThreaded = false, // UpdateFrequency = 120 //}, new NativeWindowSettings { Size = new Vector2i(1600, 900), APIVersion = new Version(4, 5), Profile = ContextProfile.Compatability, Flags = ContextFlags.Default, Title = "NeuralBeat3", API = ContextAPI.OpenGL }) { Player = player; //TargetRenderFrequency = 144f; //this.RenderFrequency = 144.0; VSync = VSyncMode.On; UpdateFrame += VisHost_UpdateFrame; RenderFrame += VisHost_RenderFrame; Load += VisHost_Load; Unload += VisHost_Unload; Resize += VisHost_Resize; Closed += VisHost_Closed; Closing += VisHost_Closing; //Keyboard.KeyDown += Keyboard_KeyDown; //Keyboard.KeyUp += Keyboard_KeyUp; this.KeyDown += Keyboard_KeyDown; this.KeyUp += Keyboard_KeyUp; // set default shader loader ShaderProgram.DefaultLoader = new OpenTKExtensions.Loaders.MultiPathFileSystemLoader(SHADERPATH); // framedata setup frameData.GlobalTextures = globalTextures; // create components //components.Add(font = new Font(@"res\font\calibrib.ttf_sdf.2048.png", @"res\font\calibrib.ttf_sdf.2048.txt"), 1); components.Add(font = new Font(@"res\font\lucon.ttf_sdf.1024.png", @"res\font\lucon.ttf_sdf.1024.txt"), 1); components.Add(text = new TextManager("texmgr", font), 2); components.Add(keyboardActions = new KeyboardActionManager() { KeyboardPriority = int.MaxValue }, 1); components.Add(globalTextures); components.Add(frameCounter = new OpenTKExtensions.Components.FrameCounter(font)); components.Add(switcher = new ComponentSwitcher() { KeyForward = new KeySpec(Keys.Tab), KeyBackward = new KeySpec(Keys.Tab, KeyModifiers.Shift) }); switcher.Add(new Renderers.AnalysisDebugRenderer(font, Player)); switcher.Add(new Renderers.BasicShaderRenderer()); switcher.Add(new Renderers.ParticleRenderer()); var graph = new ComponentGraph(); graph.Add(new ParticleNode() { Name = "particles" }); graph.Add(new ScreenOutputNode() { Name = "output" });; graph.AddEdge(new NodePortReference() { Node = "particles", Port = "tex" }, new NodePortReference() { Node = "output", Port = "tex" }); switcher.Add(graph); //Thread.CurrentThread.Priority = ThreadPriority.AboveNormal; }