module Basics (module Vectors, Camera(..), Light(..), Frame, Color(..), Material(..), Texture ) where import Vectors import Data.Array data Camera = Camera {camLoc :: Vector, camN :: Vector, camU :: Vector, camV :: Vector} data Light = DotLight !Vector !Color | AmbientLight !Color | DirLight !Vector -- direction !Color deriving Show type Frame = Array (Int, Int) Color instance Show (a -> b) where show _ = "" data Color = Color {colR,colG,colB :: !Scal} deriving (Show, Eq) type Texture = Vector -> Material data Material = Material { diffuse :: Color, materialReflection :: Color, materialRefraction :: Color, materialRefrCoef :: Scal } deriving Show