{-# 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 { _lightingWallShadShader :: Shader , _lightingLineShadowShader :: Shader , _lightingCapShader :: Shader , _lightingTextureShader :: Shader , _alphaDivideShader :: Shader , _windowShader :: Shader , _fullscreenShader :: Shader , _bloomBlurShader :: Shader , _colorBlurShader :: Shader , _barrelShader :: (Shader,VBO) , _grayscaleShader :: Shader , _shapeShader :: Shader , _shapeEBO :: EBO , _silhouetteEBO :: EBO , _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)) , _fboBloom :: (FBO, TO) , _fboPos :: (FBO, TO) , _fboLighting :: (FBO, TO) -- , _fboShadow :: (FBO, (TO, TO)) , _rboBaseBloom :: GLuint -- RenderbufferObject id , _matUBO :: GLuint -- BufferObject id -- , _orthonormalMatUBO :: GLuint -- BufferObject id , _lightsUBO :: GLuint -- BufferObject id , _vboWindows :: VBO , _vboShapes :: VBO , _floorVBO :: VBO , _floorShader :: Shader , _wallVBO :: VBO , _wallShader :: Shader , _cloudVBO :: VBO , _cloudShader :: Shader , _cloudEBO :: EBO , _screenTextureVAO :: VAO } makeLenses ''RenderData