Как я могу решить Ошибка атрибута для рендеринга с использованием Python? - PullRequest
0 голосов
/ 10 декабря 2018

class MyRenderer (Renderer):

def __init__(self, svbrdf, mesh, camera, size):
    super().__init__(size, 0, 500, camera, show=True)

    self.renderables = [Renderable(material, {
        'a_position': vertex_positions,
        'a_normal': vertex_normals,
        'a_tangent': vertex_tangents,
        'a_bitangent': vertex_bitangents,
        'a_uv': vertex_uvs,
        }, len(self.lights))]

def update_uniforms(self):
    self.program['cam_pos'] = linalg.inv(self.camera.view_mat())[:3, 3]
    self.program['u_view_mat'] = self.camera.view_mat().T
    self.program['u_model_mat'] = np.eye(4)
    self.program['u_perspective_mat'] = self.camera.perspective_mat().T

    for i, light in enumerate(self.lights):
        self.program['light_position[{}]'.format(i)] = light.position
        self.program['light_intensity[{}]'.format(i)] = light.intensity
        self.program['light_color[{}]'.format(i)] = light.color

def draw(self):
    gloo.clear(color=(1, 1, 1))
    for renderable in self.renderables:
        self.program = renderable.program
        self.update_uniforms()
        self.program.draw(gl.GL_TRIANGLES)

Этот код имеет AttributeError (у объекта 'MyRenderer' нет атрибутов для визуализации)

Как решить?пожалуйста, помогите мне.

...