Draw walls using vertex pulling
This commit is contained in:
+13
-4
@@ -113,6 +113,9 @@ doDrawing' win pdata u = do
|
||||
glNamedBufferSubData (pdata ^. winSSBO) 0
|
||||
(fromIntegral $ nWins * sizeOf (0::Float) * 8)
|
||||
(pdata ^. vboWindows . vboPtr)
|
||||
glNamedBufferSubData (pdata ^. wallSSBO) 0
|
||||
(fromIntegral $ trueNWalls * sizeOf (0::Float) * 8)
|
||||
(pdata ^. wallVBO . vboPtr)
|
||||
setViewport _gr_world_res cfig
|
||||
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBase . _1 . unFBO)
|
||||
glDepthMask GL_TRUE
|
||||
@@ -162,12 +165,18 @@ doDrawing' win pdata u = do
|
||||
--draw walls onto base buffer
|
||||
glEnable GL_CULL_FACE
|
||||
glCullFace GL_BACK
|
||||
glUseProgram (pdata ^. wallShader . shaderUINT)
|
||||
glBindVertexArray $ pdata ^. wallShader . shaderVAO . vaoName
|
||||
-- glUseProgram (pdata ^. wallShader . shaderUINT)
|
||||
-- glBindVertexArray $ pdata ^. wallShader . shaderVAO . vaoName
|
||||
-- glDrawArrays
|
||||
-- (_unPrimitiveMode $ pdata ^. wallShader . shaderPrimitive)
|
||||
-- 0
|
||||
-- (fromIntegral trueNWalls)
|
||||
glUseProgram (pdata ^. pullWallShader . shaderUINT)
|
||||
glBindVertexArray $ pdata ^. dummyVAO . vaoName
|
||||
glDrawArrays
|
||||
(_unPrimitiveMode $ pdata ^. wallShader . shaderPrimitive)
|
||||
GL_TRIANGLES
|
||||
0
|
||||
(fromIntegral trueNWalls)
|
||||
(fromIntegral trueNWalls * 6)
|
||||
--draw object shapes onto base buffer
|
||||
let fs = _shapeShader pdata
|
||||
glUseProgram (_shaderUINT fs)
|
||||
|
||||
@@ -32,7 +32,7 @@ import Data.Foldable
|
||||
import Data.Monoid
|
||||
|
||||
testStringInit :: Universe -> [String]
|
||||
testStringInit _ = []
|
||||
testStringInit u = [show $ length $ u ^. uvWorld . cWorld . lWorld . walls]
|
||||
-- [show $ foldMap (foldMap (Sum . length . (^. seObstacles)))
|
||||
-- $ u ^. uvWorld . cWorld . incGraph]
|
||||
-- foldMap prettyShort $ u ^? uvWorld . cWorld . lWorld . machines . ix 0 . mcType . _McProxSensor
|
||||
|
||||
Reference in New Issue
Block a user