Refactor shaders, vbos and vaos
This commit is contained in:
+7
-7
@@ -88,9 +88,9 @@ doDrawing' win pdata u = do
|
||||
)
|
||||
-- bind wall points, silhouette data, surface geometry
|
||||
bindShaderLayers shadV layerCounts
|
||||
uncurry bindShaderBuffers $
|
||||
uncurry (zipWithM_ bufferPokedVBO) $
|
||||
unzip
|
||||
[ ((pdata ^. vboWalls), nWalls)
|
||||
[ (pdata ^. vboWalls, nWalls)
|
||||
, (_vboShapes pdata, nShapeVs)
|
||||
, (pdata ^. vboWindows, nWins)
|
||||
, (snd $ _textureArrayShader pdata, nFls)
|
||||
@@ -121,7 +121,7 @@ doDrawing' win pdata u = do
|
||||
glUseProgram (pdata ^. lightingWallShadShader . shadName)
|
||||
glUniform3f (pdata ^?! lightingWallShadShader . shadUnis' . ix 0) vfx vfy 20
|
||||
glUniform1f (pdata ^?! lightingWallShadShader . shadUnis' . ix 1) 100
|
||||
glBindVertexArray $ pdata ^. lightingWallShadShader . shadVAO' . vaoName
|
||||
glBindVertexArray $ pdata ^. lightingWallShadShader . shadVAO . vaoName
|
||||
unless (debugOn Remove_LOS cfig) $
|
||||
glDrawArrays
|
||||
(marshalEPrimitiveMode $ pdata ^. lightingWallShadShader . shadPrim')
|
||||
@@ -136,10 +136,10 @@ doDrawing' win pdata u = do
|
||||
renderLayer BottomLayer shadV layerCounts
|
||||
--draw object shapes onto base buffer
|
||||
let fs = _shapeShader pdata
|
||||
glUseProgram (_shadName $ fst fs)
|
||||
glBindVertexArray $ fs ^. _1 . shadVAO' . vaoName
|
||||
glUseProgram (_shadName $ fs)
|
||||
glBindVertexArray $ fs ^. shadVAO . vaoName
|
||||
glDrawElements
|
||||
(marshalEPrimitiveMode $ _shadPrim' $ fst fs)
|
||||
(marshalEPrimitiveMode $ _shadPrim' $ fs)
|
||||
(fromIntegral nIndices)
|
||||
GL_UNSIGNED_SHORT
|
||||
nullPtr
|
||||
@@ -260,7 +260,7 @@ doDrawing' win pdata u = do
|
||||
let bindDrawDist :: Distortion -> IO ()
|
||||
bindDrawDist (RadialDistortion (V2 a b) (V2 c d) (V2 e f) g) = do
|
||||
pokeArray (shadVBOptr $ _barrelShader pdata) [a, b, c, d, e, f, g]
|
||||
bindShaderBuffers [snd $ _barrelShader pdata] [1]
|
||||
bufferPokedVBO (snd $ _barrelShader pdata) 1
|
||||
drawShader (fst $ _barrelShader pdata) 1
|
||||
fboList =
|
||||
take (length rds - 1) (concat (repeat [fst $ _fbo2 pdata, fst $ _fbo3 pdata]))
|
||||
|
||||
@@ -6,14 +6,14 @@ module Dodge.Render.Shadow where
|
||||
import Control.Lens
|
||||
import Data.Preload.Render
|
||||
import qualified Data.Vector as V
|
||||
import qualified Data.Vector.Fusion.Stream.Monadic as VFSM
|
||||
--import qualified Data.Vector.Fusion.Stream.Monadic as VFSM
|
||||
import Foreign
|
||||
import Geometry
|
||||
import Graphics.GL.Core45
|
||||
--import Graphics.GL.Core45
|
||||
import Linear.V3 (cross)
|
||||
import Shader.Data
|
||||
import Shader.ExtraPrimitive
|
||||
import Shader.Parameters
|
||||
--import Shader.Data
|
||||
--import Shader.ExtraPrimitive
|
||||
--import Shader.Parameters
|
||||
import Shape.Data
|
||||
|
||||
drawCPUShadows :: RenderData -> Shape -> Point3 -> Float -> IO ()
|
||||
|
||||
Reference in New Issue
Block a user