[Bf-blender-cvs] [b1add8e5bd] clay-engine: Fix assert
Clément Foucault
noreply at git.blender.org
Thu Feb 2 16:24:42 CET 2017
Commit: b1add8e5bd55222080da8dc539b782970a49f3a7
Author: Clément Foucault
Date: Thu Feb 2 16:23:21 2017 +0100
Branches: clay-engine
https://developer.blender.org/rBb1add8e5bd55222080da8dc539b782970a49f3a7
Fix assert
===================================================================
M source/blender/draw/intern/draw_cache.c
===================================================================
diff --git a/source/blender/draw/intern/draw_cache.c b/source/blender/draw/intern/draw_cache.c
index 421d8ca54c..d3e422abfd 100644
--- a/source/blender/draw/intern/draw_cache.c
+++ b/source/blender/draw/intern/draw_cache.c
@@ -135,16 +135,21 @@ Batch *DRW_cache_circle_get(void)
}
VertexBuffer *vbo = VertexBuffer_create_with_format(&format);
- VertexBuffer_allocate_data(vbo, CIRCLE_RESOL);
+ VertexBuffer_allocate_data(vbo, CIRCLE_RESOL * 2);
for (int a = 0; a < CIRCLE_RESOL; a++) {
v[0] = sinf((2.0f * M_PI * a) / ((float)CIRCLE_RESOL));
v[1] = cosf((2.0f * M_PI * a) / ((float)CIRCLE_RESOL));
v[2] = 0.0f;
- setAttrib(vbo, pos_id, a, v);
+ setAttrib(vbo, pos_id, a * 2, v);
+
+ v[0] = sinf((2.0f * M_PI * (a + 1)) / ((float)CIRCLE_RESOL));
+ v[1] = cosf((2.0f * M_PI * (a + 1)) / ((float)CIRCLE_RESOL));
+ v[2] = 0.0f;
+ setAttrib(vbo, pos_id, a * 2 + 1, v);
}
- SHC.drw_circle = Batch_create(GL_LINE_LOOP, vbo, NULL);
+ SHC.drw_circle = Batch_create(GL_LINES, vbo, NULL);
}
return SHC.drw_circle;
#undef CIRCLE_RESOL
@@ -388,16 +393,21 @@ Batch *DRW_cache_lamp_get(void)
}
VertexBuffer *vbo = VertexBuffer_create_with_format(&format);
- VertexBuffer_allocate_data(vbo, NSEGMENTS);
+ VertexBuffer_allocate_data(vbo, NSEGMENTS * 2);
for (int a = 0; a < NSEGMENTS; a++) {
v[0] = sinf((2.0f * M_PI * a) / ((float)NSEGMENTS));
v[1] = cosf((2.0f * M_PI * a) / ((float)NSEGMENTS));
v[2] = 0.0f;
- setAttrib(vbo, pos_id, a, v);
+ setAttrib(vbo, pos_id, a * 2, v);
+
+ v[0] = sinf((2.0f * M_PI * (a + 1)) / ((float)NSEGMENTS));
+ v[1] = cosf((2.0f * M_PI * (a + 1)) / ((float)NSEGMENTS));
+ v[2] = 0.0f;
+ setAttrib(vbo, pos_id, a * 2 + 1, v);
}
- SHC.drw_lamp = Batch_create(GL_LINE_LOOP, vbo, NULL);
+ SHC.drw_lamp = Batch_create(GL_LINES, vbo, NULL);
}
return SHC.drw_lamp;
#undef NSEGMENTS
More information about the Bf-blender-cvs
mailing list