Don't worry about aligning points of vmobjects with same number of points

This commit is contained in:
Grant Sanderson 2020-02-20 16:49:36 -08:00
parent 306344e9c1
commit 8d3ec1afd0
2 changed files with 2 additions and 11 deletions

View file

@ -59,7 +59,6 @@ class Mobject(Container):
self.name = self.__class__.__name__
self.updaters = []
self.updating_suspended = False
self.vbo = None
self.shader_data_is_locked = False
self.reset_points()
@ -1150,14 +1149,6 @@ class Mobject(Container):
# Must return a structured numpy array
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):
if self.shader_data_is_locked:
info_list = self.saved_shader_info_list
@ -1171,7 +1162,7 @@ class Mobject(Container):
shader = camera.get_shader(shader_info)
if shader is None:
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.render(int(shader_info["render_primative"]))

View file

@ -663,7 +663,7 @@ class VMobject(Mobject):
# Alignment
def align_points(self, vmobject):
self.align_rgbas(vmobject)
if self.has_no_points() and vmobject.has_no_points():
if len(self.points) == len(vmobject.points):
return
for mob in self, vmobject: