[Bf-blender-cvs] [ba40d8f3318] blender-v2.79a-release: Fix T53007: OpenSubdiv + transparency = artefact/crashes

Sergey Sharybin noreply at git.blender.org
Mon Jan 8 16:55:37 CET 2018


Commit: ba40d8f3318438fadaee701ef7cc82cdf1d6a045
Author: Sergey Sharybin
Date:   Tue Oct 17 12:12:15 2017 +0200
Branches: blender-v2.79a-release
https://developer.blender.org/rBba40d8f3318438fadaee701ef7cc82cdf1d6a045

Fix T53007: OpenSubdiv + transparency = artefact/crashes

===================================================================

M	source/blender/blenkernel/intern/CCGSubSurf_opensubdiv.c

===================================================================

diff --git a/source/blender/blenkernel/intern/CCGSubSurf_opensubdiv.c b/source/blender/blenkernel/intern/CCGSubSurf_opensubdiv.c
index 65cf899b42b..f568bb94ac5 100644
--- a/source/blender/blenkernel/intern/CCGSubSurf_opensubdiv.c
+++ b/source/blender/blenkernel/intern/CCGSubSurf_opensubdiv.c
@@ -282,6 +282,7 @@ bool ccgSubSurf_prepareGLMesh(CCGSubSurf *ss,
 		                      sizeof(GLfloat) * 6, (float *)12);
 
 		glBindBuffer(GL_ARRAY_BUFFER, 0);
+		glBindVertexArray(0);
 	}
 	else if (ss->osd_coarse_coords_invalid) {
 		ccgSubSurf__updateGLMeshCoords(ss);
@@ -299,6 +300,7 @@ void ccgSubSurf_drawGLMesh(CCGSubSurf *ss, bool fill_quads,
                            int start_partition, int num_partitions)
 {
 	if (LIKELY(ss->osd_mesh != NULL)) {
+		glBindVertexArray(ss->osd_vao);
 		glBindBuffer(GL_ELEMENT_ARRAY_BUFFER,
 		             openSubdiv_getOsdGLMeshPatchIndexBuffer(ss->osd_mesh));



More information about the Bf-blender-cvs mailing list