mirror of
https://github.com/3b1b/manim.git
synced 2025-09-01 00:48:45 +00:00
Don't worry about aligning points of vmobjects with same number of points
This commit is contained in:
parent
306344e9c1
commit
8d3ec1afd0
2 changed files with 2 additions and 11 deletions
|
@ -59,7 +59,6 @@ class Mobject(Container):
|
||||||
self.name = self.__class__.__name__
|
self.name = self.__class__.__name__
|
||||||
self.updaters = []
|
self.updaters = []
|
||||||
self.updating_suspended = False
|
self.updating_suspended = False
|
||||||
self.vbo = None
|
|
||||||
self.shader_data_is_locked = False
|
self.shader_data_is_locked = False
|
||||||
|
|
||||||
self.reset_points()
|
self.reset_points()
|
||||||
|
@ -1150,14 +1149,6 @@ class Mobject(Container):
|
||||||
# Must return a structured numpy array
|
# Must return a structured numpy array
|
||||||
return self.shader_data
|
return self.shader_data
|
||||||
|
|
||||||
def get_vbo(self, ctx, data):
|
|
||||||
d_bytes = data.tobytes()
|
|
||||||
if self.vbo is None or self.vbo.size != len(d_bytes):
|
|
||||||
self.vbo = ctx.buffer(d_bytes)
|
|
||||||
else:
|
|
||||||
self.vbo.write(d_bytes)
|
|
||||||
return self.vbo
|
|
||||||
|
|
||||||
def render(self, camera):
|
def render(self, camera):
|
||||||
if self.shader_data_is_locked:
|
if self.shader_data_is_locked:
|
||||||
info_list = self.saved_shader_info_list
|
info_list = self.saved_shader_info_list
|
||||||
|
@ -1171,7 +1162,7 @@ class Mobject(Container):
|
||||||
shader = camera.get_shader(shader_info)
|
shader = camera.get_shader(shader_info)
|
||||||
if shader is None:
|
if shader is None:
|
||||||
continue
|
continue
|
||||||
vbo = self.get_vbo(camera.ctx, data)
|
vbo = camera.ctx.buffer(data.tobytes())
|
||||||
vao = camera.ctx.simple_vertex_array(shader, vbo, *data.dtype.names)
|
vao = camera.ctx.simple_vertex_array(shader, vbo, *data.dtype.names)
|
||||||
vao.render(int(shader_info["render_primative"]))
|
vao.render(int(shader_info["render_primative"]))
|
||||||
|
|
||||||
|
|
|
@ -663,7 +663,7 @@ class VMobject(Mobject):
|
||||||
# Alignment
|
# Alignment
|
||||||
def align_points(self, vmobject):
|
def align_points(self, vmobject):
|
||||||
self.align_rgbas(vmobject)
|
self.align_rgbas(vmobject)
|
||||||
if self.has_no_points() and vmobject.has_no_points():
|
if len(self.points) == len(vmobject.points):
|
||||||
return
|
return
|
||||||
|
|
||||||
for mob in self, vmobject:
|
for mob in self, vmobject:
|
||||||
|
|
Loading…
Add table
Reference in a new issue