def update(self, name, ub):
PyBuffer_FromMemory = ctypes.pythonapi.PyBuffer_FromMemory
ubo = self.UBs[name].ubo
#print "using ubo handle %s" % ubo
gl.glBindBuffer(gl.GL_UNIFORM_BUFFER, ubo)
vp = gl.glMapBuffer(gl.GL_UNIFORM_BUFFER, gl.GL_WRITE_ONLY)
#buffer = PyBuffer_FromMemory(
# ctypes.c_void_p(vp), vbo.size
#)
to_p = ctypes.c_void_p(vp)
from_p = ctypes.c_void_p(ub.listy.ctypes.data)
#print to_p, from_p
ctypes.memmove(to_p,
from_p,
ub.record_byte_size*len(ub.listy))
gl.glUnmapBuffer(gl.GL_UNIFORM_BUFFER)
评论列表
文章目录