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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-06-05 19:54:41 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-06-05 19:54:41 +0400
commitf18fad668f67428698f4a87d08ded5858be3f018 (patch)
treef7c8ccbe1a702406045437ab4d36063e9357849c /source/blender/gpu
parente66f3eb499eed2121b63c7189c81453315e7611e (diff)
Fix textured draw mode + dyntopo crash fix to cover more cases.
Diffstat (limited to 'source/blender/gpu')
-rw-r--r--source/blender/gpu/intern/gpu_buffers.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c
index 7c4c4ce7ced..1707414e26a 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -2313,19 +2313,21 @@ void GPU_draw_buffers(GPU_Buffers *buffers, DMSetMaterial setMaterial,
{
/* sets material from the first face, to solve properly face would need to
* be sorted in buckets by materials */
- if (buffers->totface) {
- const MFace *f = &buffers->mface[buffers->face_indices[0]];
- if (!setMaterial(f->mat_nr + 1, NULL))
- return;
- }
- else if (buffers->totgrid) {
- const DMFlagMat *f = &buffers->grid_flag_mats[buffers->grid_indices[0]];
- if (!setMaterial(f->mat_nr + 1, NULL))
- return;
- }
- else if (setMaterial) {
- if (!setMaterial(1, NULL))
- return;
+ if (setMaterial) {
+ if (buffers->totface) {
+ const MFace *f = &buffers->mface[buffers->face_indices[0]];
+ if (!setMaterial(f->mat_nr + 1, NULL))
+ return;
+ }
+ else if (buffers->totgrid) {
+ const DMFlagMat *f = &buffers->grid_flag_mats[buffers->grid_indices[0]];
+ if (!setMaterial(f->mat_nr + 1, NULL))
+ return;
+ }
+ else {
+ if (!setMaterial(1, NULL))
+ return;
+ }
}
glShadeModel((buffers->smooth || buffers->totface) ? GL_SMOOTH : GL_FLAT);