def draw(self): if not self.__material: return glUseProgram(self.__material.id) glBindBuffer(GL_ARRAY_BUFFER, self.__v_hdl) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, self.__i_hdl) self.__material.set_attributes() self.__material.set_uniform_float('time', Engine.get_time()) self.__material.set_uniform_matrix('modelView', self.__T.ptr) self.__material.set_uniform_matrix('prjView', Engine.camera.ptr) for tex in self.__texture: ndx = self.__texture.index(tex) self.__material.set_texture(ndx, tex) glDrawElements(GL_TRIANGLES, self.__i_size, GL_UNSIGNED_SHORT, None)