Move texture objects to openglraw
This commit is contained in:
+13
-13
@@ -27,11 +27,11 @@ numDrawableWalls = 5000
|
||||
preloadRender :: IO RenderData
|
||||
preloadRender = do
|
||||
-- set up uniform buffer object
|
||||
theUBO <- mglCreateSingle glCreateBuffers
|
||||
theUBO <- mglCreate glCreateBuffers
|
||||
glNamedBufferData theUBO 64 nullPtr GL_STREAM_DRAW
|
||||
glBindBufferBase GL_UNIFORM_BUFFER 0 theUBO
|
||||
-- setup wall points VBO, VAOs and shaders
|
||||
wpVBOname <- mglCreateSingle glCreateBuffers
|
||||
wpVBOname <- mglCreate glCreateBuffers
|
||||
wpVBOptr <- mallocArray (8 * numDrawableWalls)
|
||||
glNamedBufferData wpVBOname
|
||||
( fromIntegral $ floatSize * numDrawableWalls * 8)
|
||||
@@ -40,19 +40,19 @@ preloadRender = do
|
||||
let wpVBO = VBO{_vboName = wpVBOname, _vboPtr = wpVBOptr, _vboAttribSizes = [4, 4], _vboStride = 8}
|
||||
-- wpVAOname <- genObjectName
|
||||
-- bindVertexArrayObject $= Just wpVAOname
|
||||
wpVAOname <- mglCreateSingle glCreateVertexArrays
|
||||
wpVAOname <- mglCreate glCreateVertexArrays
|
||||
glBindVertexArray wpVAOname
|
||||
setupVertexAttribPointer wpVAOname wpVBOname 0 4 8 0
|
||||
--wpColVAOname <- genObjectName
|
||||
--bindVertexArrayObject $= Just wpColVAOname
|
||||
wpColVAOname <- mglCreateSingle glCreateVertexArrays
|
||||
wpColVAOname <- mglCreate glCreateVertexArrays
|
||||
glBindVertexArray wpColVAOname
|
||||
setupVertexAttribPointer wpColVAOname wpVBOname 0 4 8 0
|
||||
setupVertexAttribPointer wpColVAOname wpVBOname 1 4 8 4
|
||||
let wpVAO = VAO{_vaoName = wpVAOname, _vaoVBO = wpVBO}
|
||||
wpColVAO = VAO{_vaoName = wpColVAOname, _vaoVBO = wpVBO}
|
||||
-- setup window points VBO, VAOs and shaders
|
||||
winVBOname <- mglCreateSingle glCreateBuffers
|
||||
winVBOname <- mglCreate glCreateBuffers
|
||||
winVBOptr <- mallocArray (8 * numDrawableWalls)
|
||||
glNamedBufferData wpVBOname
|
||||
( fromIntegral $ floatSize * numDrawableWalls * 8)
|
||||
@@ -61,21 +61,21 @@ preloadRender = do
|
||||
let winVBO = VBO{_vboName = winVBOname, _vboPtr = winVBOptr, _vboAttribSizes = [4, 4], _vboStride = 8}
|
||||
--winColVAOname <- genObjectName
|
||||
--bindVertexArrayObject $= Just winColVAOname
|
||||
winColVAOname <- mglCreateSingle glCreateVertexArrays
|
||||
winColVAOname <- mglCreate glCreateVertexArrays
|
||||
glBindVertexArray winColVAOname
|
||||
setupVertexAttribPointer winColVAOname winVBOname 0 4 8 0
|
||||
setupVertexAttribPointer winColVAOname winVBOname 1 4 8 4
|
||||
let winColVAO = VAO{_vaoName = winColVAOname, _vaoVBO = winVBO}
|
||||
-- setup shape geometry/cap VBO and two VAOs
|
||||
shEBOptr <- mallocArray numDrawableElements
|
||||
shEBOname <- mglCreateSingle glCreateBuffers
|
||||
shEBOname <- mglCreate glCreateBuffers
|
||||
glNamedBufferData
|
||||
shEBOname
|
||||
( fromIntegral $ glushortSize * numDrawableElements)
|
||||
nullPtr
|
||||
GL_STREAM_DRAW
|
||||
let shEBO = EBO{_eboName = shEBOname, _eboPtr = shEBOptr}
|
||||
shVBOname <- mglCreateSingle glCreateBuffers
|
||||
shVBOname <- mglCreate glCreateBuffers
|
||||
shVBOptr <- mallocArray (7 * numDrawableElements)
|
||||
glNamedBufferData shVBOname
|
||||
( fromIntegral $ floatSize * numDrawableElements * 7)
|
||||
@@ -84,7 +84,7 @@ preloadRender = do
|
||||
let shVBO = VBO{_vboName = shVBOname, _vboPtr = shVBOptr, _vboAttribSizes = [4, 4], _vboStride = 8}
|
||||
--shPosColVAOname <- genObjectName
|
||||
--bindVertexArrayObject $= Just shPosColVAOname
|
||||
shPosColVAOname <- mglCreateSingle glCreateVertexArrays
|
||||
shPosColVAOname <- mglCreate glCreateVertexArrays
|
||||
glBindVertexArray shPosColVAOname
|
||||
setupVertexAttribPointer shPosColVAOname shVBOname 0 3 7 0
|
||||
setupVertexAttribPointer shPosColVAOname shVBOname 1 4 7 3
|
||||
@@ -92,7 +92,7 @@ preloadRender = do
|
||||
glVertexArrayElementBuffer shPosColVAOname shEBOname
|
||||
--shPosVAOname <- genObjectName
|
||||
--bindVertexArrayObject $= Just shPosVAOname
|
||||
shPosVAOname <- mglCreateSingle glCreateVertexArrays
|
||||
shPosVAOname <- mglCreate glCreateVertexArrays
|
||||
glBindVertexArray shPosVAOname
|
||||
setupVertexAttribPointer shPosVAOname shVBOname 0 3 7 0
|
||||
--bindBuffer ElementArrayBuffer $= Just shEBOname
|
||||
@@ -102,11 +102,11 @@ preloadRender = do
|
||||
--setup silhouette edge VAO
|
||||
--shEdgeVAOname <- genObjectName
|
||||
--bindVertexArrayObject $= Just shEdgeVAOname
|
||||
shEdgeVAOname <- mglCreateSingle glCreateVertexArrays
|
||||
shEdgeVAOname <- mglCreate glCreateVertexArrays
|
||||
glBindVertexArray shEdgeVAOname
|
||||
setupVertexAttribPointer shEdgeVAOname shVBOname 0 3 7 0
|
||||
--setup ebo for silhouette edges
|
||||
silEBOname <- mglCreateSingle glCreateBuffers
|
||||
silEBOname <- mglCreate glCreateBuffers
|
||||
silEBOptr <- mallocArray numDrawableElements
|
||||
-- it may be important to bind this while the correct VAO is bound
|
||||
glVertexArrayElementBuffer shEdgeVAOname silEBOname
|
||||
@@ -175,7 +175,7 @@ preloadRender = do
|
||||
framebuf2 <- setupTextureFramebuffer 800 600
|
||||
framebuf3 <- setupTextureFramebuffer 800 600
|
||||
|
||||
rboBaseBloomName <- mglCreateSingle glCreateRenderbuffers
|
||||
rboBaseBloomName <- mglCreate glCreateRenderbuffers
|
||||
glNamedRenderbufferStorage
|
||||
rboBaseBloomName
|
||||
GL_DEPTH24_STENCIL8
|
||||
|
||||
Reference in New Issue
Block a user