Exemplo n.º 1
0
        void IRenderable.Render(OpenGL gl, RenderMode renderMode)
        {
            if (renderMode == RenderMode.HitTest)
            {
                return;
            }
            if (!this.RenderBoundingBox)
            {
                return;
            }
            //IBoundingBox boundingBox = this.expandedBoundingBox;
            IBoundingBox boundingBox = this.boundingBox;

            if (boundingBox == null)
            {
                return;
            }

            //gl.Enable(OpenGL.GL_POLYGON_OFFSET_LINE);
            //gl.PolygonOffset(-1.0f, -1.0f);
            //int [] results = new int[2];
            //gl.GetInteger(Enumerations.GetTarget.PolygonMode, results);
            //gl.PolygonMode(OpenGL.GL_FRONT_AND_BACK, OpenGL.GL_LINE);

            boundingBox.Render(gl, renderMode);

            //gl.PolygonMode(OpenGL.GL_FRONT_AND_BACK, (uint)results[0]);
            //gl.Disable(OpenGL.GL_POLYGON_OFFSET_LINE);
        }
Exemplo n.º 2
0
        private void glCanvas1_OpenGLDraw(object sender, PaintEventArgs e)
        {
            OpenGL.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT | OpenGL.GL_STENCIL_BUFFER_BIT);
            var list = this.terrainRendererList.ToArray();
            var arg  = new RenderEventArg(RenderModes.Render, this.glCanvas1.ClientRectangle, this.camera);

            foreach (var item in list)
            {
                item.Render(arg);
            }
            IBoundingBox boundingBox = this.boundingBox;

            if (boundingBox != null)
            {
                boundingBox.Render(Color.White, arg);
            }
        }