module Graphics.LambdaCube.Types (
    FloatType, FloatType2, FloatType3, FloatType4,
    RGB, ColourValue,
    -- * Reexports
    module Data.Vect.Float,
    module Data.Vect.Float.Instances,
    module Data.Vect.Float.Util.Quaternion
) where

import Data.Vect.Float
import Data.Vect.Float.Instances
import Data.Vect.Float.Util.Quaternion

-- | The floating point type used throughout the engine.  It is
-- recommended to use this synonym ubiquitously in code interfacing
-- with LambdaCube.
type FloatType = Float
--type FloatType = CFloat
--type FloatType = Double
--type FloatType = CDouble

type FloatType2 = (FloatType,FloatType)
type FloatType3 = (FloatType,FloatType,FloatType)
type FloatType4 = (FloatType,FloatType,FloatType,FloatType)

type RGB = FloatType3
type ColourValue = FloatType4