PushAttrib() private method

private PushAttrib ( uint mask ) : void
mask uint
return void
Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="arg"></param>
        protected override void DoRender(RenderEventArgs arg)
        {
            //  Push attributes, disable lighting.
            OpenGL.PushAttrib(OpenGL.GL_CURRENT_BIT | OpenGL.GL_ENABLE_BIT |
                              OpenGL.GL_LINE_BIT | OpenGL.GL_POLYGON_BIT);
            OpenGL.Disable(OpenGL.GL_LIGHTING);
            OpenGL.Disable(OpenGL.GL_TEXTURE_2D);
            OpenGL.LineWidth(1.0f);
            OpenGL.Color4f(BoxColor.x, BoxColor.y, BoxColor.z, BoxColor.w);

            //QuadsDraw(gl);

            //GL.Color(1.0f, 0, 0);
            OpenGL.Begin(DrawMode.LineLoop);
            OpenGL.Vertex3f(MinPosition.x, MinPosition.y, MinPosition.z);
            OpenGL.Vertex3f(MaxPosition.x, MinPosition.y, MinPosition.z);
            OpenGL.Vertex3f(MaxPosition.x, MinPosition.y, MaxPosition.z);
            OpenGL.Vertex3f(MinPosition.x, MinPosition.y, MaxPosition.z);
            OpenGL.End();

            //GL.Color(0, 1.0f, 0);
            OpenGL.Begin(DrawMode.LineLoop);
            OpenGL.Vertex3f(MinPosition.x, MaxPosition.y, MinPosition.z);
            OpenGL.Vertex3f(MaxPosition.x, MaxPosition.y, MinPosition.z);
            OpenGL.Vertex3f(MaxPosition.x, MaxPosition.y, MaxPosition.z);
            OpenGL.Vertex3f(MinPosition.x, MaxPosition.y, MaxPosition.z);
            OpenGL.End();

            //GL.Color(0, 0, 1.0f);
            OpenGL.Begin(DrawMode.Lines);
            OpenGL.Vertex3f(MinPosition.x, MinPosition.y, MinPosition.z);
            OpenGL.Vertex3f(MinPosition.x, MaxPosition.y, MinPosition.z);
            OpenGL.Vertex3f(MaxPosition.x, MinPosition.y, MinPosition.z);
            OpenGL.Vertex3f(MaxPosition.x, MaxPosition.y, MinPosition.z);
            OpenGL.Vertex3f(MaxPosition.x, MinPosition.y, MaxPosition.z);
            OpenGL.Vertex3f(MaxPosition.x, MaxPosition.y, MaxPosition.z);
            OpenGL.Vertex3f(MinPosition.x, MinPosition.y, MaxPosition.z);
            OpenGL.Vertex3f(MinPosition.x, MaxPosition.y, MaxPosition.z);
            OpenGL.End();

            OpenGL.PopAttrib();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Render to the provided instance of GL.
        /// </summary>
        /// <param name="renderMode">The render mode.</param>
        public virtual void Render(RenderModes renderMode)
        {
            //  Push attributes, disable lighting.
            OpenGL.PushAttrib(OpenGL.GL_CURRENT_BIT | OpenGL.GL_ENABLE_BIT |
                              OpenGL.GL_LINE_BIT | OpenGL.GL_POLYGON_BIT);
            OpenGL.Disable(OpenGL.GL_LIGHTING);
            OpenGL.Disable(OpenGL.GL_TEXTURE_2D);
            OpenGL.LineWidth(1.0f);
            OpenGL.Color(BoxColor.x, BoxColor.y, BoxColor.z, BoxColor.w);

            //QuadsDraw(gl);

            //GL.Color(1.0f, 0, 0);
            OpenGL.Begin(DrawMode.LineLoop);
            OpenGL.Vertex(MinPosition.x, MinPosition.y, MinPosition.z);
            OpenGL.Vertex(MaxPosition.x, MinPosition.y, MinPosition.z);
            OpenGL.Vertex(MaxPosition.x, MinPosition.y, MaxPosition.z);
            OpenGL.Vertex(MinPosition.x, MinPosition.y, MaxPosition.z);
            OpenGL.End();

            //GL.Color(0, 1.0f, 0);
            OpenGL.Begin(DrawMode.LineLoop);
            OpenGL.Vertex(MinPosition.x, MaxPosition.y, MinPosition.z);
            OpenGL.Vertex(MaxPosition.x, MaxPosition.y, MinPosition.z);
            OpenGL.Vertex(MaxPosition.x, MaxPosition.y, MaxPosition.z);
            OpenGL.Vertex(MinPosition.x, MaxPosition.y, MaxPosition.z);
            OpenGL.End();

            //GL.Color(0, 0, 1.0f);
            OpenGL.Begin(DrawMode.Lines);
            OpenGL.Vertex(MinPosition.x, MinPosition.y, MinPosition.z);
            OpenGL.Vertex(MinPosition.x, MaxPosition.y, MinPosition.z);
            OpenGL.Vertex(MaxPosition.x, MinPosition.y, MinPosition.z);
            OpenGL.Vertex(MaxPosition.x, MaxPosition.y, MinPosition.z);
            OpenGL.Vertex(MaxPosition.x, MinPosition.y, MaxPosition.z);
            OpenGL.Vertex(MaxPosition.x, MaxPosition.y, MaxPosition.z);
            OpenGL.Vertex(MinPosition.x, MinPosition.y, MaxPosition.z);
            OpenGL.Vertex(MinPosition.x, MaxPosition.y, MaxPosition.z);
            OpenGL.End();

            OpenGL.PopAttrib();
        }