PopAttrib() 개인적인 메소드

private PopAttrib ( ) : void
리턴 void
예제 #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();
        }
예제 #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();
        }