packages feed

terminal-3d-graphics-0.2.0.0: src/Terminal3D.hs

{-|
Module      : Terminal3D
Description : A simple terminal 3D rasteriser with textures, portals, and lighting.
Stability   : experimental

Re-exports every public sub-module so library users only need one import:

> import Terminal3D

== Quick-start

@
import Terminal3D
import Control.Monad.Trans.State (evalStateT)

main :: IO ()
main = do
    tex <- readBMP "myTexture.bmp"
    let tris   = cubeFormer (texWallFormer tex)
        lights = [Ray (Vec3 0.5 1 0.5), Ambient 0.3]
        world  = World (map (bakeLight lights) tris) Nothing
    evalStateT (loop world) def
-}
module Terminal3D
    ( -- * Re-exports
      module Terminal3D.Vector
    , module Terminal3D.Matrix
    , module Terminal3D.Textures
    , module Terminal3D.Tri
    , module Terminal3D.Lighting
    , module Terminal3D.TerminalGraphics
    , module Terminal3D.Objects
    , module Terminal3D.BigText
    , module Terminal3D.Movement
    , module Terminal3D.Loop
    , module Terminal3D.Localization
    ) where

import Terminal3D.Vector
import Terminal3D.Matrix
import Terminal3D.Textures
import Terminal3D.Tri
import Terminal3D.Lighting
import Terminal3D.TerminalGraphics
import Terminal3D.Objects
import Terminal3D.BigText
import Terminal3D.Movement
import Terminal3D.Loop
import Terminal3D.Localization