Files
loop/src/Data/Preload/Render.hs
T

54 lines
1.5 KiB
Haskell

{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
--{-# OPTIONS_GHC -Wno-unused-top-binds #-}
module Data.Preload.Render where
import Control.Lens
import Control.Monad.Primitive
import qualified Data.Vector.Mutable as MV
import Graphics.GL.Core45
import Shader.Data
data RenderData = RenderData
{ _shadWallShader :: GLuint
, _lightingLineShadowShader :: GLuint
, _lightingCapShader :: GLuint
, _lightingTextureShader :: GLuint
, _lightingCloudShader :: GLuint
, _ceilingStencilShader :: GLuint
, _alphaDivideShader :: GLuint
, _windowPullShader :: GLuint
, _pullWallShader :: GLuint
, _fullscreenShader :: GLuint
, _bloomBlurShader :: GLuint
, _barrelShader :: (GLuint,VBO)
, _shapeShader :: GLuint
, _shapeEBO :: UintBO
, _silhouetteEBO :: UintBO
, _pictureShaders :: MV.MVector (PrimState IO) (GLuint,VBO)
, _fboHalf1 :: (FBO, TO)
, _fboHalf2 :: (FBO, TO)
, _fboBase :: (FBO, (TO, TO, TO))
, _fboCloud :: (FBO, (TO, TO, TO))
, _fboWindow :: (FBO, (TO, TO))
, _fboBloom :: (FBO, TO)
, _fboPos :: (FBO, TO)
, _fboLighting :: (FBO, TO)
, _rboBaseBloom :: GLuint -- RenderbufferObject id
, _matUBO :: GLuint -- BufferObject id
, _lightUBO :: GLuint -- BufferObject id
, _vboShapes :: VBO
, _floorVBO :: VBO
, _floorShader :: GLuint
, _chasmVBO :: VBO
, _chasmShader :: GLuint
, _winVBO :: VBO
, _wallVBO :: VBO
, _cloudVBO :: VBO
, _cloudShader :: GLuint
, _dummyVAO :: GLuint
}
makeLenses ''RenderData