public void Render(Light light, Camera camera)
        {
            //rendering properties:
            Prepare();

            //graphing shader: functions, nodes, data.
            graphingShader.Start();
            graphingShader.LoadViewMatrix(camera);
            functionRenderer.Render(functions);
            functionRenderer.Render(data);
            nodeRenderer.Render(nodesToRender);
            graphingShader.Stop();

            //mandelbrot shader: mandelbrot fractal.
            mandelbrotShader.Start();
            mandelbrotRenderer.Render(mousePosition, mouseWheelDelta, fractals);
            mandelbrotShader.Stop();

            //mandelbrot shader for double precision:
            mandelbrotShaderDouble.Start();
            mandelbrotRenderer.Render(mousePosition, mouseWheelDelta, fractalDoubles);
            mandelbrotShaderDouble.Stop();

            //CLEAR THE LISTS!
            nodesToRender.Clear();
            functions.Clear();
            fractals.Clear();
            fractalDoubles.Clear();
            data.Clear();
        }
Example #2
0
        /* CONSTRUCTORS */
        public NodeRenderer(GraphingShader shader, Matrix4 projectionMatrix)
        {
            //initialization.
            this.nodeShader = shader;

            //initialize the shader using the projectionMatrix.
            shader.Start();
            shader.LoadProjectionMatrix(projectionMatrix);
            shader.Stop();
        }