Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Erwin <significant.bit@gmail.com>2016-08-07 04:49:30 +0300
committerMike Erwin <significant.bit@gmail.com>2016-08-07 08:05:49 +0300
commit6b21d22c6084a1820f4d82afc59583924076655b (patch)
treeca8017c47a2880c1506b1b35e36646c841a17f4f /source/blender/gpu/intern/gpu_immediate.c
parenta55c5dbcc4b2ad7bd64386819681bcf1ac722a5b (diff)
Gawain: fix VAO and VBO binds
Immediate mode no longer leaves its internals bound after use. Part of transition from a simple prototype app to non-simple Blender, which has lots of other parts using OpenGL.
Diffstat (limited to 'source/blender/gpu/intern/gpu_immediate.c')
-rw-r--r--source/blender/gpu/intern/gpu_immediate.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/gpu/intern/gpu_immediate.c b/source/blender/gpu/intern/gpu_immediate.c
index 2e4763012ee..15108093954 100644
--- a/source/blender/gpu/intern/gpu_immediate.c
+++ b/source/blender/gpu/intern/gpu_immediate.c
@@ -201,7 +201,8 @@ void immInit()
imm.primitive = GL_NONE;
- // glBindBuffer(GL_ARRAY_BUFFER, 0);
+ glBindBuffer(GL_ARRAY_BUFFER, 0);
+ glBindVertexArray(0);
initialized = true;
}
@@ -257,7 +258,7 @@ void immBegin(GLenum primitive, unsigned vertex_ct)
assert(bytes_needed <= IMM_BUFFER_SIZE);
#endif
-// glBindBuffer(GL_ARRAY_BUFFER, imm.vbo_id);
+ glBindBuffer(GL_ARRAY_BUFFER, imm.vbo_id);
// does the current buffer have enough room?
const unsigned available_bytes = IMM_BUFFER_SIZE - imm.buffer_offset;
@@ -296,7 +297,7 @@ void immEnd()
glUnmapBuffer(GL_ARRAY_BUFFER);
// set up VAO -- can be done during Begin or End really
-// glBindVertexArray(imm.vao_id);
+ glBindVertexArray(imm.vao_id);
const unsigned stride = immVertexFormat.stride;
@@ -334,7 +335,8 @@ void immEnd()
glDrawArrays(imm.primitive, 0, imm.vertex_ct);
-// glBindVertexArray(0);
+ glBindBuffer(GL_ARRAY_BUFFER, 0);
+ glBindVertexArray(0);
// prep for next immBegin
imm.buffer_offset += imm.buffer_bytes_mapped;