public void TestSetup()
        {
            state         = MockRepository.GenerateMock <EditorState>();
            projectState  = MockRepository.GenerateMock <ProjectState>();
            renderer      = MockRepository.GenerateStub <IDiffusionRenderer>();
            stateControl  = MockRepository.GenerateMock <IEditorStateControl>();
            glControl     = MockRepository.GenerateMock <GLControl>();
            renderControl = MockRepository.GenerateMock <IRenderStateControl>();
            bufferControl = MockRepository.GenerateMock <IDiffusionPathControl>();

            host = new GLControlHost(glControl, state, stateControl, renderer, renderControl, bufferControl);
        }
Example #2
0
        /// <summary>
        /// Initializes the GL host.
        /// </summary>
        private void InitOpenGL()
        {
            RenderStateControl renderControl = new RenderStateControl(renderState);

            DiffusionBuffers     buffers       = new DiffusionBuffers();
            DiffusionPathControl bufferControl = new DiffusionPathControl(buffers);

            //shaders
            DefaultShader  pointShader    = new DefaultShader("shaders/basic.vert", "shaders/basic.frag");
            TexturedShader imageShader    = new TexturedShader("shaders/tex.vert", "shaders/tex.frag");
            TexturedShader diffuseShader  = new TexturedShader("shaders/tex.vert", "shaders/diffuse.frag");
            NormalShader   lineShader     = new NormalShader("shaders/normal.vert", "shaders/normal.geom", "shaders/normal.frag");
            NormalShader   endPointShader = new NormalShader("shaders/normal.vert", "shaders/endpoints.geom", "shaders/normal.frag");

            renderer = new DiffusionRenderer(renderState,
                                             editorState,
                                             buffers,
                                             pointShader,
                                             imageShader,
                                             diffuseShader,
                                             lineShader,
                                             endPointShader);

            //Init GL
            GLControl control = new GLControl(new OpenTK.Graphics.GraphicsMode(32, 24, 8, 4));

            this.glHost = new GLControlHost(control,
                                            editorState,
                                            editorControl,
                                            renderer,
                                            renderControl,
                                            bufferControl);

            this.glHost.Child         = control;
            this.glHost.PointClicked += glHost_PointClicked;
        }