Portability | portable |
---|---|

Stability | stable |

Maintainer | sven.panne@aedion.de |

Safe Haskell | Safe-Infered |

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

# Documentation

`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.

is exactly equivalent to the
following sequence:
`rect`

(`Vertex2`

x1 y1) (`Vertex2`

x2, y2)

`renderPrimitive`

`Polygon`

$ do`vertex`

(`Vertex2`

x1 y1)`vertex`

(`Vertex2`

x2 y1)`vertex`

(`Vertex2`

x2 y2)`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.