mirror of
https://github.com/3b1b/manim.git
synced 2025-08-05 16:49:03 +00:00
Use ShaderWrapper.read_in instead of combine_with
Improves speed
This commit is contained in:
parent
e54e04a5ce
commit
816f6eb297
1 changed files with 9 additions and 12 deletions
|
@ -1064,6 +1064,10 @@ class VMobject(Mobject):
|
|||
render_primitive=self.render_primitive,
|
||||
)
|
||||
|
||||
self.meta_fill_shader_wrapper = self.fill_shader_wrapper.copy()
|
||||
self.meta_stroke_shader_wrapper = self.stroke_shader_wrapper.copy()
|
||||
self.meta_back_stroke_shader_wrapper = self.stroke_shader_wrapper.copy()
|
||||
|
||||
def refresh_shader_wrapper_id(self):
|
||||
for wrapper in [self.fill_shader_wrapper, self.stroke_shader_wrapper]:
|
||||
wrapper.refresh_id()
|
||||
|
@ -1098,18 +1102,11 @@ class VMobject(Mobject):
|
|||
stroke_shader_wrappers.append(ssw)
|
||||
|
||||
# Combine data lists
|
||||
wrapper_lists = [
|
||||
back_stroke_shader_wrappers,
|
||||
fill_shader_wrappers,
|
||||
stroke_shader_wrappers
|
||||
]
|
||||
result = []
|
||||
for wlist in wrapper_lists:
|
||||
if wlist:
|
||||
wrapper = wlist[0]
|
||||
wrapper.combine_with(*wlist[1:])
|
||||
result.append(wrapper)
|
||||
return result
|
||||
return list(filter(lambda sw: len(sw.vert_data) > 0, [
|
||||
self.meta_back_stroke_shader_wrapper.read_in(*back_stroke_shader_wrappers),
|
||||
self.meta_fill_shader_wrapper.read_in(*fill_shader_wrappers),
|
||||
self.meta_stroke_shader_wrapper.read_in(*stroke_shader_wrappers),
|
||||
]))
|
||||
|
||||
def get_stroke_uniforms(self) -> dict[str, float]:
|
||||
result = dict(super().get_shader_uniforms())
|
||||
|
|
Loading…
Add table
Reference in a new issue