diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-07-08 19:19:12 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-07-08 19:21:49 +0300 |
commit | fdadb4829cec1964040c944f90c2d7dc08e505c7 (patch) | |
tree | deda19047c189ca39c0e973c37c68ddfb970a314 /intern | |
parent | eb8c45508d59898b4b4def36f93c79ccc320e437 (diff) |
Gawain: Add support for compressed index with instancing.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/gawain/src/batch.c | 9 |
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); |