diff options
Diffstat (limited to 'source/blender/draw/intern/draw_cache_extract_mesh_extractors.c')
-rw-r--r-- | source/blender/draw/intern/draw_cache_extract_mesh_extractors.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_cache_extract_mesh_extractors.c b/source/blender/draw/intern/draw_cache_extract_mesh_extractors.c index b79f80866ec..3cac391c42d 100644 --- a/source/blender/draw/intern/draw_cache_extract_mesh_extractors.c +++ b/source/blender/draw/intern/draw_cache_extract_mesh_extractors.c @@ -94,12 +94,26 @@ static const MeshExtract *mesh_extract_override_hq_normals(const MeshExtract *ex return extractor; } +static const MeshExtract *mesh_extract_override_single_material(const MeshExtract *extractor) +{ + if (extractor == &extract_tris) { + return &extract_tris_single_mat; + } + return extractor; +} + const MeshExtract *mesh_extract_override_get(const MeshExtract *extractor, - const bool do_hq_normals) + const bool do_hq_normals, + const bool do_single_mat) { if (do_hq_normals) { extractor = mesh_extract_override_hq_normals(extractor); } + + if (do_single_mat) { + extractor = mesh_extract_override_single_material(extractor); + } + return extractor; } |