예제 #1
0
        public virtual void LoadContent(GraphicsDevice device, TexturedShader effect)
        {
            GraphicsDevice = device;

            _effect = effect;
            //_effect = new BasicEffect(GraphicsDevice);
            //_effect.TextureEnabled = true;
        }
예제 #2
0
        protected virtual void Dispose(bool disposing)
        {
            if (!IsDisposed)
            {
                if (disposing)
                {
                    if (_effect != null && !_effect.IsDisposed)
                    {
                        _effect.Dispose();
                    }
                }

                _effect = null;

                IsDisposed = true;
            }
        }
예제 #3
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;
        }