protected override void OnResize(EventArgs e) { // Update viewport and camera settings GL.Viewport(0, 0, Width, Height); camera.Perspective(Width, Height, (float)Math.PI / 4, 1f, 1000); // Release old and generate new framebuffer fbo.Release(); if (msaa) { fbo = new Framebuffer(Width, Height, msaaLevel); } else { fbo = new Framebuffer(Width, Height, 0); } }
protected override void OnKeyPress(KeyPressEventArgs e) { base.OnKeyPress(e); if (e.KeyChar == 'r') { if(msaa) { fbo.Release(); fbo = new Framebuffer(Width, Height, 0); } blur = false; msaa = false; fxaa = false; } if(e.KeyChar == 'b') { if (msaa) { fbo.Release(); fbo = new Framebuffer(Width, Height, 0); } blur = true; msaa = false; fxaa = false; } if (e.KeyChar == 'f') { if (msaa) { fbo.Release(); fbo = new Framebuffer(Width, Height, 0); } blur = false; msaa = false; fxaa = true; } if (e.KeyChar == 'm') { if (!msaa) { fbo.Release(); fbo = new Framebuffer(Width, Height, msaaLevel); } blur = false; msaa = true; fxaa = false; } if(msaa) { if (e.KeyChar == '1') { fbo.Release(); msaaLevel = 1; fbo = new Framebuffer(Width, Height, msaaLevel); msaaLevel = fbo.MSAA; } if (e.KeyChar == '2') { fbo.Release(); msaaLevel = 2; fbo = new Framebuffer(Width, Height, msaaLevel); msaaLevel = fbo.MSAA; } if (e.KeyChar == '3') { fbo.Release(); msaaLevel = 4; fbo = new Framebuffer(Width, Height, msaaLevel); msaaLevel = fbo.MSAA; } if (e.KeyChar == '4') { fbo.Release(); msaaLevel = 8; fbo = new Framebuffer(Width, Height, msaaLevel); msaaLevel = fbo.MSAA; } if (e.KeyChar == '5') { fbo.Release(); msaaLevel = 16; fbo = new Framebuffer(Width, Height, msaaLevel); msaaLevel = fbo.MSAA; } if (e.KeyChar == '6') { fbo.Release(); msaaLevel = 32; fbo = new Framebuffer(Width, Height, msaaLevel); msaaLevel = fbo.MSAA; } if (e.KeyChar == '7') { fbo.Release(); msaaLevel = 64; fbo = new Framebuffer(Width, Height, msaaLevel); msaaLevel = fbo.MSAA; } if (e.KeyChar == '8') { fbo.Release(); msaaLevel = 128; fbo = new Framebuffer(Width, Height, msaaLevel); msaaLevel = fbo.MSAA; } if (e.KeyChar == '9') { fbo.Release(); msaaLevel = 256; fbo = new Framebuffer(Width, Height, msaaLevel); msaaLevel = fbo.MSAA; } } }
protected override void OnLoad(EventArgs e) { // Initialize GL settings GPUCapabilities.Initialize(); GLState.DepthTest = true; GLState.CullFace = true; GLState.BlendFunc(BlendingFactorSrc.DstAlpha, BlendingFactorDest.OneMinusDstAlpha); PackageManager.BasePath = "../../Assets/"; // Load shaders ShaderManager.LoadCollection("Shaders/collection.xml"); fboShader = ShaderManager.Get("framebufferexample"); blurShader = ShaderManager.Get("framebufferexample.blur"); msaaShader = ShaderManager.Get("framebufferexample.msaa"); fxaaShader = ShaderManager.Get("framebufferexample.fxaa"); // Initialize framebuffer if(msaa) { fbo = new Framebuffer(Width, Height, 32); } else { fbo = new Framebuffer(Width, Height, 0); } // Load other stuff LoadMeshStuff(); textShader = ShaderManager.Get("Text"); font = new Font(); font.LoadBMFont("Fonts/OpenSans-Regular.ttf_sdf.txt"); font.Texture = textures.Get("Textures/OpenSans-Regular.ttf_sdf.tex", true); text = new GuiText(); text.Font = font; text.Text = GenerateInfoText(); }