54 lines
1.5 KiB
Haskell
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
|
|
{ _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)
|
|
, _rboBaseBloom :: GLuint -- RenderbufferObject id
|
|
, _matUBO :: 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
|