Example #1
0
    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)