Rework of BKE's mesh_render to support BMesh directly.
Note that since there is no (efficient) ways to get arrays of MVert/MEdge/etc. out of a BMesh, I refactored quite heavily internals of BKE_mesh_render. Now, when you do need acess to mesh data to generate cached batches, you create an abstract struct from mesh (either Mesh or BMesh if available), and then use advanced helpers to extract needed data, on a per-item basis (no more handling of arrays of verts/edges/... in batches code). This allows to: * Avoid having to create arrays of BMesh elements. * Take advantage of existing advanced BMesh topology and connectivity data. Reviewers: dfelinto, fclem, merwin Differential Revision: https://developer.blender.org/D2521
This commit is contained in:
parent
d751676cf3
commit
ef60979029
|
@ -33,6 +33,7 @@ struct Batch;
|
|||
struct Mesh;
|
||||
|
||||
void BKE_mesh_batch_cache_dirty(struct Mesh *me);
|
||||
void BKE_mesh_batch_cache_clear(struct Mesh *me);
|
||||
void BKE_mesh_batch_cache_free(struct Mesh *me);
|
||||
struct Batch *BKE_mesh_batch_cache_get_all_edges(struct Mesh *me);
|
||||
struct Batch *BKE_mesh_batch_cache_get_all_triangles(struct Mesh *me);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue