Cleanup some silhouette edge buffers
This commit is contained in:
+10
-28
@@ -77,36 +77,33 @@ doDrawing' win pdata u = do
|
||||
( pokeShape
|
||||
(drawShadowsByImportance $ cfig ^. gr_shadow_size)
|
||||
(_vboPtr $ _vboShapes pdata)
|
||||
(_eboPtr $ _shapeEBO pdata)
|
||||
(_eboPtr $ _silhouetteEBO pdata)
|
||||
(_uiboPtr $ _shapeEBO pdata)
|
||||
(_uiboPtr $ _silhouetteEBO pdata)
|
||||
(0, 0, 0)
|
||||
ws
|
||||
)
|
||||
(nCloudVs', nCloudIs') <-
|
||||
-- Might want to sort the clouds based on z depth, not sure
|
||||
V.foldM'
|
||||
(pokeCloud (pdata ^. cloudVBO . vboPtr) (pdata ^. cloudEBO . eboPtr))
|
||||
(pokeCloud (pdata ^. cloudVBO . vboPtr) (pdata ^. cloudEBO . uiboPtr))
|
||||
(0, 0)
|
||||
(V.fromList $ w ^. cWorld . lWorld . clouds)
|
||||
(nCloudVs, nCloudIs) <-
|
||||
V.foldM'
|
||||
(pokeDust (pdata ^. cloudVBO . vboPtr) (pdata ^. cloudEBO . eboPtr))
|
||||
(pokeDust (pdata ^. cloudVBO . vboPtr) (pdata ^. cloudEBO . uiboPtr))
|
||||
(nCloudVs', nCloudIs')
|
||||
(V.fromList $ w ^. cWorld . lWorld . dusts)
|
||||
-- bind wall points, silhouette data, surface geometry
|
||||
bufferShaderLayers shadV pokeCounts
|
||||
mapM_
|
||||
(uncurry bufferPokedVBO)
|
||||
[ --(pdata ^. vboWindows, nWins)
|
||||
(pdata ^. wallVBO, trueNWalls)
|
||||
, (_vboShapes pdata, nShapeVs)
|
||||
[ (_vboShapes pdata, nShapeVs)
|
||||
, (pdata ^. cloudVBO, nCloudVs)
|
||||
]
|
||||
mapM_
|
||||
(uncurry bufferEBO)
|
||||
[ (_cloudEBO pdata, nCloudIs)
|
||||
, (_shapeEBO pdata, nIndices)
|
||||
, (_silhouetteEBO pdata, nSilIndices)
|
||||
]
|
||||
-- set the coordinate uniform ready for drawing elements using world coordinates
|
||||
bufferPerspectiveMatrixUBO cfig (w ^. wCam) (pdata ^. matUBO)
|
||||
@@ -116,31 +113,16 @@ doDrawing' win pdata u = do
|
||||
glNamedBufferSubData (pdata ^. wallSSBO) 0
|
||||
(fromIntegral $ trueNWalls * sizeOf (0::Float) * 8)
|
||||
(pdata ^. wallVBO . vboPtr)
|
||||
-- withArray
|
||||
-- [V4 0 0 0 (1:: Float)
|
||||
-- ,V4 0 0 0 0
|
||||
-- ,V4 0 0 0 0
|
||||
-- ,V4 1 1 0 1
|
||||
-- ,V4 0 0 0 0
|
||||
-- ,V4 0 0 0 0
|
||||
-- ,V4 0 1 0 1
|
||||
-- ,V4 0 0 0 0
|
||||
-- ,V4 0 0 0 0
|
||||
-- ]
|
||||
-- $ glNamedBufferSubData (pdata ^. shapeSSBO) 0
|
||||
-- (fromIntegral $ 9 * (sizeOf (0::Float)*12))
|
||||
-- withArray [0::GLuint,1,2] $
|
||||
-- glNamedBufferSubData (pdata ^. ishapeSSBO) 0
|
||||
-- (fromIntegral $ 3 * (sizeOf (0::GLuint)))
|
||||
glNamedBufferSubData (pdata ^. shapeSSBO) 0
|
||||
(fromIntegral $ nShapeVs * (sizeOf (0::Float)*12))
|
||||
(pdata ^. vboShapes . vboPtr)
|
||||
glNamedBufferSubData (pdata ^. ishapeSSBO) 0
|
||||
(fromIntegral $ nIndices * (sizeOf (0::GLuint)))
|
||||
(pdata ^. shapeEBO . eboPtr)
|
||||
glNamedBufferSubData (pdata ^. ieshapeSSBO) 0
|
||||
(fromIntegral $ nSilIndices * (sizeOf (0::GLuint)))
|
||||
(pdata ^. silhouetteEBO . eboPtr)
|
||||
(pdata ^. shapeEBO . uiboPtr)
|
||||
bufferEBO (pdata ^. silhouetteEBO) nSilIndices
|
||||
-- glNamedBufferSubData (pdata ^. ieshapeSSBO) 0
|
||||
-- (fromIntegral $ nSilIndices * (sizeOf (0::GLuint)))
|
||||
-- (pdata ^. silhouetteEBO . uiboPtr)
|
||||
setViewport _gr_world_res cfig
|
||||
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBase . _1 . unFBO)
|
||||
glDepthMask GL_TRUE
|
||||
|
||||
Reference in New Issue
Block a user