Copyright | (c) 2015 Brian W Bush |
---|---|
License | MIT |
Maintainer | Brian W Bush <consult@brianwbush.info> |
Stability | Stable |
Portability | Portable |
Safe Haskell | None |
Language | Haskell2010 |
Graphics.Rendering.Handa.Projection
Contents
Description
Functions for off-axis projection.
- data Screen a = Screen {}
- aspectRatio :: (AdditiveGroup a, RealFloat a) => Screen a -> a
- throwRatio :: (AdditiveGroup a, RealFloat a) => Screen a -> Vertex3 a -> a
- projection :: forall a. (AdditiveGroup a, MatrixComponent a, RealFloat a) => Screen a -> Vertex3 a -> a -> a -> IO ()
Screens.
Description of a physical screen geometry.
Constructors
Screen | |
Instances
Functor Screen Source | |
Eq a => Eq (Screen a) Source | |
Data a => Data (Screen a) Source | |
Read a => Read (Screen a) Source | |
Show a => Show (Screen a) Source | |
Generic (Screen a) Source | |
(Generic a, FromJSON a) => FromJSON (Screen a) Source | |
(Generic a, Binary a) => Binary (Screen a) Source | |
type Rep (Screen a) Source |
Arguments
:: (AdditiveGroup a, RealFloat a) | |
=> Screen a | The screen geometry. |
-> a | The aspect ratio, namely the screen width divided by its height. |
The aspect ratio.
Arguments
:: (AdditiveGroup a, RealFloat a) | |
=> Screen a | The screen geometry. |
-> Vertex3 a | The eye position. |
-> a | The throw ratio, name the distance to the screen divided by its width. |
The throw ratio.
Projections.
Arguments
:: (AdditiveGroup a, MatrixComponent a, RealFloat a) | |
=> Screen a | The screen geometry. |
-> Vertex3 a | The eye position. |
-> a | The distance to the near culling plane. |
-> a | The distance to the far culling plane. |
-> IO () | An action for performing the off-axis projection. |
Make an off-axis projection for a screen. This projection is based on the equations in <http://csc.lsu.edu/~kooima/pdfs/gen-perspective.pdf> .