/// <summary> /// /// </summary> protected override void SwitchOff() { OpenGL.Disable(OpenGL.GL_POINT_SPRITE_ARB); OpenGL.Disable(OpenGL.GL_VERTEX_PROGRAM_POINT_SIZE); int count = this.SwitchList.Count; for (int i = count - 1; i >= 0; i--) { this.SwitchList[i].Off(); } }
protected override void SwitchOff() { if (this.enableCapacityWhenSwitchOn) { if (!this.originalEnableCapacity) { OpenGL.Disable(Capacity); } } else { if (this.originalEnableCapacity) { OpenGL.Enable(Capacity); } } }
protected override void SwitchOn() { this.enableCapacityWhenSwitchOn = this.EnableCapacity; this.originalEnableCapacity = OpenGL.IsEnabled(this.Capacity) != 0; if (this.enableCapacityWhenSwitchOn) { if (!this.originalEnableCapacity) { OpenGL.Enable(Capacity); } } else { if (this.originalEnableCapacity) { OpenGL.Disable(Capacity); } } }
/// <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(); }