{-|
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