Batch render groups by Mobject type

This commit is contained in:
Grant Sanderson
2023-02-02 13:28:06 -08:00
parent acb4b1c6b3
commit e5eed7c36a

View File

@ -383,20 +383,11 @@ class Scene(object):
def assemble_render_groups(self): def assemble_render_groups(self):
""" """
Rendering is more efficient when VMobjects are grouped Rendering can be more efficient when mobjects of the
together, so this function creates VGroups of all same type are grouped together, so this function creates
clusters of adjacent VMobjects in the scene's mobject Groups of all clusters of adjacent Mobjects in the scene
list.
""" """
batches = batch_by_property( batches = batch_by_property(self.mobjects, lambda m: str(type(m)))
self.mobjects,
lambda m: "|".join([
str(m.shader_dtype.names),
str(m.is_fixed_in_frame()),
str(m.depth_test),
str(m.is_changing()),
])
)
for group in self.render_groups: for group in self.render_groups:
group.clear() group.clear()