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(); }
/// <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(); }
/// <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(); }
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; }