public void Compile() { _Clean = true; // indicate to the OpenGL draw loop that it needs to clean the backbuffer string frag = ""; _Scene.Compile(_RaytracerOptions, _Scene._FractalSettings._RenderOptions, ref frag); _ShaderRenderer.Compile(_GL, frag, _RaytracerOptions.GetRaysPerPixel()); SaveStatus(); _ShaderRenderer.SetShaderVars(_Scene._Camera.GetViewMatrix(), _Scene._Camera.GetPosition(), _Scene._FractalSettings._RenderOptions.GetSunVec3(), _Scene._Camera, _Scene._FractalSettings); TriggerPreview(); _Dirty = false; }
private void InitialiseRenderer() { // Initialise the scene. _ShaderRenderer = new ShaderRenderer(); string frag = ""; _Scene.Compile(_RaytracerOptions, _Scene._FractalSettings._RenderOptions, ref frag); _ShaderRenderer.Compile(_GL, frag, _RaytracerOptions.GetRaysPerPixel()); int width, height; GetWidthHeightSelection(out width, out height); _ShaderRenderer.SetShaderVars(_Scene._Camera.GetViewMatrix(), _Scene._Camera.GetPosition(), _Scene._FractalSettings._RenderOptions.GetSunVec3(), _Scene._Camera, _Scene._FractalSettings); _ShaderRenderer.Initialise(_GL, width, height, _Scene._Camera.GetViewMatrix(), _Scene._Camera.GetPosition(), true); _ShaderRenderer.SetProgressive(_RaytracerOptions._Progressive, progressiveSteps); _ShaderRenderer.SetPostProcess(_PostProcess); _ShaderRenderer.Clean(_GL); }