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,
|
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):
|
def refresh_shader_wrapper_id(self):
|
||||||
for wrapper in [self.fill_shader_wrapper, self.stroke_shader_wrapper]:
|
for wrapper in [self.fill_shader_wrapper, self.stroke_shader_wrapper]:
|
||||||
wrapper.refresh_id()
|
wrapper.refresh_id()
|
||||||
|
@ -1098,18 +1102,11 @@ class VMobject(Mobject):
|
||||||
stroke_shader_wrappers.append(ssw)
|
stroke_shader_wrappers.append(ssw)
|
||||||
|
|
||||||
# Combine data lists
|
# Combine data lists
|
||||||
wrapper_lists = [
|
return list(filter(lambda sw: len(sw.vert_data) > 0, [
|
||||||
back_stroke_shader_wrappers,
|
self.meta_back_stroke_shader_wrapper.read_in(*back_stroke_shader_wrappers),
|
||||||
fill_shader_wrappers,
|
self.meta_fill_shader_wrapper.read_in(*fill_shader_wrappers),
|
||||||
stroke_shader_wrappers
|
self.meta_stroke_shader_wrapper.read_in(*stroke_shader_wrappers),
|
||||||
]
|
]))
|
||||||
result = []
|
|
||||||
for wlist in wrapper_lists:
|
|
||||||
if wlist:
|
|
||||||
wrapper = wlist[0]
|
|
||||||
wrapper.combine_with(*wlist[1:])
|
|
||||||
result.append(wrapper)
|
|
||||||
return result
|
|
||||||
|
|
||||||
def get_stroke_uniforms(self) -> dict[str, float]:
|
def get_stroke_uniforms(self) -> dict[str, float]:
|
||||||
result = dict(super().get_shader_uniforms())
|
result = dict(super().get_shader_uniforms())
|
||||||
|
|
Loading…
Add table
Reference in a new issue