jort-1.0.0: Basics.hs
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 _ = "<function>"
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