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:
authorClément Foucault <foucault.clem@gmail.com>2017-07-08 19:19:12 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-07-08 19:21:49 +0300
commitfdadb4829cec1964040c944f90c2d7dc08e505c7 (patch)
treededa19047c189ca39c0e973c37c68ddfb970a314 /intern/gawain
parenteb8c45508d59898b4b4def36f93c79ccc320e437 (diff)
Gawain: Add support for compressed index with instancing.
Diffstat (limited to 'intern/gawain')
-rw-r--r--intern/gawain/src/batch.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/intern/gawain/src/batch.c b/intern/gawain/src/batch.c
index 17e45084613..22a5aab48b4 100644
--- a/intern/gawain/src/batch.c
+++ b/intern/gawain/src/batch.c
@@ -365,8 +365,11 @@ void GWN_batch_draw_stupid_instanced(Gwn_Batch* batch, unsigned int instance_vbo
if (batch->elem)
{
const Gwn_IndexBuf* el = batch->elem;
-
+#if GWN_TRACK_INDEX_RANGE
+ glDrawElementsInstancedBaseVertex(batch->gl_prim_type, el->index_ct, el->gl_index_type, 0, instance_count, el->base_index);
+#else
glDrawElementsInstanced(batch->gl_prim_type, el->index_ct, GL_UNSIGNED_INT, 0, instance_count);
+#endif
}
else
glDrawArraysInstanced(batch->gl_prim_type, 0, batch->verts[0]->vertex_ct, instance_count);
@@ -432,7 +435,11 @@ void GWN_batch_draw_stupid_instanced_with_batch(Gwn_Batch* batch_instanced, Gwn_
{
const Gwn_IndexBuf* el = batch_instanced->elem;
+#if GWN_TRACK_INDEX_RANGE
+ glDrawElementsInstancedBaseVertex(batch_instanced->gl_prim_type, el->index_ct, el->gl_index_type, 0, verts->vertex_ct, el->base_index);
+#else
glDrawElementsInstanced(batch_instanced->gl_prim_type, el->index_ct, GL_UNSIGNED_INT, 0, verts->vertex_ct);
+#endif
}
else
glDrawArraysInstanced(batch_instanced->gl_prim_type, 0, batch_instanced->verts[0]->vertex_ct, verts->vertex_ct);