Safe Haskell | Safe-Infered |
---|
- data Scene
- data Camera = PerspectiveCamera {}
- infiniteCameraOf :: Camera -> Camera
- data SceneLayerInfo = SceneLayerInfo {}
- data SceneObject m
- type SceneLayer = Integer
- class (RecombinantState a, CoordinateSystemClass a, Monad m) => ScenicAccumulator a m | a -> m where
- accumulateScene :: SceneLayer -> SceneObject m -> a -> a
- data SceneAccumulator m
- null_scene_accumulator :: SceneAccumulator m
- sceneObject :: (Monad m, ModelType mt) => m mt -> SceneObject m
- cameraRelativeSceneObject :: Monad m => (Camera -> m (WrappedAffine IntermediateModel)) -> SceneObject m
- lightSource :: LightSource -> SceneObject m
- accumulateSceneM :: (ScenicAccumulator sa a, Monad m, MonadState sa m) => SceneLayer -> SceneObject a -> m ()
- accumulateSceneA :: (ScenicAccumulator sa m, Arrow arr, ArrowState sa arr) => arr (SceneLayer, SceneObject m) ()
- assembleScene :: Monad m => SceneLayerInfo -> SceneAccumulator m -> m Scene
- sceneToOpenGL :: RSdouble -> (RSdouble, RSdouble) -> Scene -> IO ()
- stdSceneLayerInfo :: Camera -> SceneLayerInfo
- stdSceneLayers :: Camera -> SceneLayer -> Camera
- std_scene_layer_hud :: SceneLayer
- std_scene_layer_cockpit :: SceneLayer
- std_scene_layer_local :: SceneLayer
- std_scene_layer_infinite :: SceneLayer
- newtype LightSourceLayerTransform = LightSourceLayerTransform {}
- cameraLightSourceLayerTransform :: (SceneLayer -> Camera) -> LightSourceLayerTransform
Documentation
data SceneLayerInfo Source
data SceneObject m Source
Monad m => AffineTransformable (SceneObject m) |
type SceneLayer = IntegerSource
class (RecombinantState a, CoordinateSystemClass a, Monad m) => ScenicAccumulator a m | a -> m whereSource
accumulateScene :: SceneLayer -> SceneObject m -> a -> aSource
Monad m => ScenicAccumulator (SceneAccumulator m) m | |
Monad m => ScenicAccumulator (TimePlusSceneAccumulator m) m |
data SceneAccumulator m Source
sceneObject :: (Monad m, ModelType mt) => m mt -> SceneObject mSource
cameraRelativeSceneObject :: Monad m => (Camera -> m (WrappedAffine IntermediateModel)) -> SceneObject mSource
lightSource :: LightSource -> SceneObject mSource
accumulateSceneM :: (ScenicAccumulator sa a, Monad m, MonadState sa m) => SceneLayer -> SceneObject a -> m ()Source
accumulateSceneA :: (ScenicAccumulator sa m, Arrow arr, ArrowState sa arr) => arr (SceneLayer, SceneObject m) ()Source
assembleScene :: Monad m => SceneLayerInfo -> SceneAccumulator m -> m SceneSource
stdSceneLayers :: Camera -> SceneLayer -> CameraSource
cameraLightSourceLayerTransform :: (SceneLayer -> Camera) -> LightSourceLayerTransformSource
Performs the minimal light source layer transform needed to maintain correct light sources under camera transformations.