{-# 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 , _ceilingStencilShader :: GLuint , _alphaDivideShader :: GLuint , _windowPullShader :: GLuint , _pullWallShader :: GLuint , _fullscreenShader :: GLuint , _transparencyCompShader :: GLuint , _bloomBlurShader :: GLuint , _barrelShader :: (Shader,VBO) , _shapeShader :: GLuint , _shapeEBO :: UintBO , _silhouetteEBO :: UintBO , _pictureShaders :: MV.MVector (PrimState IO) (Shader,VBO) , _fbo2 :: (FBO, TO) , _fbo3 :: (FBO, TO) , _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