mirror of
https://github.com/3b1b/manim.git
synced 2025-09-01 00:48:45 +00:00
fix 3D bad overlapping
This commit is contained in:
parent
1139b545f9
commit
e5cf0558d8
2 changed files with 7 additions and 11 deletions
|
@ -14,6 +14,7 @@ from manimlib.constants import FRAME_WIDTH
|
|||
from manimlib.mobject.mobject import Mobject
|
||||
from manimlib.mobject.mobject import Point
|
||||
from manimlib.utils.color import color_to_rgba
|
||||
from manimlib.utils.family_ops import extract_mobject_family_members
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
|
@ -228,7 +229,7 @@ class Camera(object):
|
|||
self.clear()
|
||||
self.refresh_uniforms()
|
||||
self.fbo.use()
|
||||
for mobject in mobjects:
|
||||
for mobject in extract_mobject_family_members(mobjects, True):
|
||||
mobject.render(self.ctx, self.uniforms)
|
||||
|
||||
if self.window:
|
||||
|
|
|
@ -2039,16 +2039,11 @@ class Mobject(object):
|
|||
return self.shader_wrapper
|
||||
|
||||
def get_shader_wrapper_list(self, ctx: Context) -> list[ShaderWrapper]:
|
||||
family = self.family_members_with_points()
|
||||
batches = batch_by_property(family, lambda sm: sm.get_shader_wrapper(ctx).get_id())
|
||||
|
||||
result = []
|
||||
for submobs, sid in batches:
|
||||
shader_wrapper = submobs[0].shader_wrapper
|
||||
data_list = [sm.get_shader_data() for sm in submobs]
|
||||
shader_wrapper.read_in(data_list)
|
||||
result.append(shader_wrapper)
|
||||
return result
|
||||
if len(self.get_points()) == 0:
|
||||
return []
|
||||
shader_wrapper = self.get_shader_wrapper(ctx)
|
||||
shader_wrapper.read_in([self.get_shader_data()])
|
||||
return [shader_wrapper]
|
||||
|
||||
def get_shader_data(self) -> np.ndarray:
|
||||
indices = self.get_shader_vert_indices()
|
||||
|
|
Loading…
Add table
Reference in a new issue