GLUtil-0.7: Miscellaneous OpenGL utilities.

Safe HaskellSafe-Inferred

Graphics.GLUtil.Camera2D

Contents

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

forward :: V3 a
 
upward :: V3 a
 
rightward :: V3 a
 
orientation :: Quaternion a
 
location :: V3 a
 

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

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

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

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

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

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

Camera initialization

camera2D :: (Epsilon a, RealFloat a) => Camera aSource

Initialize a camera for 2D rendering.

Math

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

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

deg2rad :: RealFloat a => a -> aSource

Convert degrees to radians.