| OpenGL-2.4.0.1: A binding for the OpenGL graphics system | Source code | Contents | Index

Graphics.Rendering.OpenGL.GL.Rectangles

Portability | portable
Stability | stable
Maintainer | sven.panne@aedion.de

Description
This module corresponds to section 2.10 (Rectangles) of the OpenGL 2.1 specs.
Synopsis

class Rect a where

rect :: Vertex2 a -> Vertex2 a -> IO ()
rectv :: Ptr a -> Ptr a -> IO ()

Documentation

class Rect a where | Source

`rect` and `rectv` support efficient specification of rectangles as two corner points. Each rectangle command takes four arguments, organized either as two consecutive pairs of (x, y) coordinates, or as two pointers to arrays, each containing an (x, y) pair. The resulting rectangle is defined in the z = 0 plane.

``rect` (`Vertex2` x1 y1) (`Vertex2` x2, y2)` is exactly equivalent to the following sequence:

        Graphics.Rendering.OpenGL.GL.BeginEnd.renderPrimitive Graphics.Rendering.OpenGL.GL.BeginEnd.Polygon $ do
            Graphics.Rendering.OpenGL.GL.VertexSpec.vertex (Vertex2 x1 y1)
            Graphics.Rendering.OpenGL.GL.VertexSpec.vertex (Vertex2 x2 y1)
            Graphics.Rendering.OpenGL.GL.VertexSpec.vertex (Vertex2 x2 y2)
            Graphics.Rendering.OpenGL.GL.VertexSpec.vertex (Vertex2 x1 y2)

Note that if the second vertex is above and to the right of the first vertex, the rectangle is constructed with a counterclockwise winding.

Methods

rect :: Vertex2 a -> Vertex2 a -> IO () | Source

rectv :: Ptr a -> Ptr a -> IO () | Source

Instances

Rect GLdouble
Rect GLfloat
Rect GLint
Rect GLshort

Produced by Haddock version 2.4.2