GLUtil-0.10.4: Miscellaneous OpenGL utilities.
Safe HaskellNone
LanguageHaskell2010

Graphics.GLUtil.Camera2D

Description

A camera designed for 2D viewing. The camera may be translated perpendicular to its view direction, or rolled about its view direction.

Synopsis

Camera movement

data Camera a Source #

A Camera may be translated and rotated to provide a coordinate frame into which 3D points may be transformed.

Constructors

Camera 

Fields

track :: (Conjugate a, Epsilon a, RealFloat a) => V2 a -> Camera a -> Camera a Source #

Move the camera side-to-side or up-and-down as in a tracking shot.

roll :: (Epsilon a, RealFloat a) => a -> Camera a -> Camera a Source #

Roll a camera view about its view direction by an angle given in degrees.

rollRad :: (Epsilon a, RealFloat a) => a -> Camera a -> Camera a Source #

Roll a camera view about its view direction by an angle given in radians.

Camera initialization

camera2D :: (Epsilon a, RealFloat a) => Camera a Source #

Initialize a camera for 2D rendering.

Math

camMatrix :: (Conjugate a, Epsilon a, RealFloat a) => Camera a -> M33 a Source #

Produce a matrix that transforms homogenous 2D points into the camera's coordinate frame.

deg2rad :: RealFloat a => a -> a Source #

Convert degrees to radians.