Copyright | (C) 2014 Edward Kmett |
---|---|

License | BSD-style (see the file LICENSE) |

Maintainer | Edward Kmett <ekmett@gmail.com> |

Stability | experimental |

Portability | non-portable |

Safe Haskell | Safe-Inferred |

Language | Haskell98 |

Common projection matrices: e.g. perspective/orthographic transformation matrices.

Analytically derived inverses are also supplied, because they can be much more accurate in practice than computing them through general purpose means

- lookAt :: (Epsilon a, Floating a) => V3 a -> V3 a -> V3 a -> M44 a
- perspective :: Floating a => a -> a -> a -> a -> M44 a
- inversePerspective :: Floating a => a -> a -> a -> a -> M44 a
- infinitePerspective :: Floating a => a -> a -> a -> M44 a
- inverseInfinitePerspective :: Floating a => a -> a -> a -> M44 a
- frustum :: Floating a => a -> a -> a -> a -> a -> a -> M44 a
- inverseFrustum :: Floating a => a -> a -> a -> a -> a -> a -> M44 a
- ortho :: Floating a => a -> a -> a -> a -> a -> a -> M44 a
- inverseOrtho :: Floating a => a -> a -> a -> a -> a -> a -> M44 a

# Documentation

Build a look at view matrix

Build a matrix for a symmetric perspective-view frustum

Build an inverse perspective matrix

Build a matrix for a symmetric perspective-view frustum with a far plane at infinite

Build a perspective matrix per the classic `glFrustum`

arguments.

Build an orthographic perspective matrix from 6 clipping planes

Build an inverse orthographic perspective matrix from 6 clipping planes