End() приватный Метод

private End ( ) : void
Результат void
Пример #1
0
        protected override void DoRender(RenderEventArgs arg)
        {
            OpenGL.LoadIdentity();
            this.LegacyTransform();

            circleLineWidthSwitch.On();
            OpenGL.Begin(DrawMode.LineLoop);
            for (int i = 0; i < circlePosition.Count; i++)
            {
                vec3 color = circleColor[i];
                OpenGL.Color3f(color.x, color.y, color.z);
                vec3 position = circlePosition[i];
                OpenGL.Vertex3f(position.x, position.y, position.z);
            }
            OpenGL.End();

            circleLineWidthSwitch.Off();
        }
Пример #2
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();
        }
Пример #3
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();
        }
Пример #4
0
        public static void DrawPyramid()
        {
            //  Clear the color and depth buffer.
            OpenGL.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT | OpenGL.GL_STENCIL_BUFFER_BIT);

            //  Load the identity matrix.
            OpenGL.LoadIdentity();

            //  Rotate around the Y axis.
            OpenGL.Rotate(rotation, 0.0f, 1.0f, 0.0f);

            //  Draw a coloured pyramid.
            OpenGL.Begin(OpenGL.GL_TRIANGLES);
            for (int i = 0; i < pyramidPosition.Count; i++)
            {
                vec3 color = pyramidColor[i];
                OpenGL.Color(color.x, color.y, color.z);
                vec3 position = pyramidPosition[i];
                OpenGL.Vertex(position.x, position.y, position.z);
            }
            OpenGL.End();

            rotation += 3.0f;
        }