packages feed

roguestar-gl-0.4.0.1: src/Scene.hs

module Scene
    (module RSAGL.Scene,
     roguestarSceneLayerInfo,
     scene_layer_hud,
     scene_layer_cockpit,
     scene_layer_local,
     scene_layer_near_sky,
     scene_layer_clouds,
     scene_layer_sky_sphere,
     scene_layer_far_sky,
     scene_layer_orbit,
     scene_layer_distant)
    where

import RSAGL.Scene hiding (std_scene_layer_hud,std_scene_layer_cockpit,std_scene_layer_local,std_scene_layer_infinite)
import qualified RSAGL.Scene as SceneLayers (std_scene_layer_hud,std_scene_layer_cockpit,std_scene_layer_local,std_scene_layer_infinite)
import Data.Monoid

roguestarSceneLayerInfo :: LightSourceLayerTransform -> Camera -> SceneLayerInfo
roguestarSceneLayerInfo light_source_layer_transform c = SceneLayerInfo
    (stdSceneLayers c)
    (light_source_layer_transform `mappend` cameraLightSourceLayerTransform (stdSceneLayers c))

scene_layer_hud :: SceneLayer
scene_layer_hud = SceneLayers.std_scene_layer_hud

scene_layer_cockpit :: SceneLayer
scene_layer_cockpit = SceneLayers.std_scene_layer_cockpit

scene_layer_local :: SceneLayer
scene_layer_local = SceneLayers.std_scene_layer_local

-- | Infinite layer, under the clouds
scene_layer_near_sky :: SceneLayer
scene_layer_near_sky = SceneLayers.std_scene_layer_infinite

-- | Contains clouds only
scene_layer_clouds :: SceneLayer
scene_layer_clouds = SceneLayers.std_scene_layer_infinite + 1

-- | Infinite layer, above clouds
scene_layer_far_sky :: SceneLayer
scene_layer_far_sky = SceneLayers.std_scene_layer_infinite + 2

-- | Contains sky sphere only
scene_layer_sky_sphere :: SceneLayer
scene_layer_sky_sphere = SceneLayers.std_scene_layer_infinite + 3

-- | Infinite layer, above the sky
scene_layer_orbit :: SceneLayer
scene_layer_orbit = SceneLayers.std_scene_layer_infinite + 4

-- | Infinite layer, contains astronomical objects
scene_layer_distant :: SceneLayer
scene_layer_distant = SceneLayers.std_scene_layer_infinite + 5