crocodile-0.1.2: app/src/RenderContext.hs
-- This is a render context, something that describes the general shared variables for rendering
module RenderContext where
import SceneGraph
import {-# SOURCE #-} Light
import {-# SOURCE #-} PhotonMap (PhotonMapContext)
data RenderMode = RayTrace | PhotonMapper | PathTracer deriving (Show)
data RenderMethodConfiguration = RenderMethodRayTrace
| RenderMethodPhotonMap
| RenderMethodPathTracer deriving (Show)
data RenderContext = RenderContext {
numDistribSamples :: Int,
sceneGraph :: SceneGraph,
lights :: [Light],
maximumRayDepth :: Int,
reflectionRayLength :: Double,
refractionRayLength :: Double,
photonMapContext :: PhotonMapContext,
rayOriginDistribution :: Double,
depthOfFieldFocalDistance :: Double,
renderMode :: RenderMode,
useIrradianceCache :: Bool }