PyOpenGL: set glColor = постоянно меняющийся вектор - PullRequest
0 голосов
/ 28 июня 2018

Хорошо, я уже писал об этом раньше, но у меня возникла проблема, отличная от моей первоначальной дилеммы. У меня есть переменная с именем

current_color

которые преобразуются из цвета

т. Е. Зеленый

в вектор

т.е.: (0, 128, 0)

so current_color = (0, 128, 0) (эта переменная меняется каждую четверть секунды)

Итак, у меня есть куб, и я хочу, чтобы он менял цвет, когда переменная

current_color

изменения.

Вот так выглядит мой куб:

def Cube():
    glBegin(GL_QUADS)
    for surface in surfaces:
        x = 0
        for vertex in surface:
            x += 1
            glColor3fv(current_color[x])
            glVertex3fv(verticies[vertex])
    glEnd()

Каждый раз, когда я запускаю программу, я получаю это:

Process Process-1:
Traceback (most recent call last):
  File "C:\Users\Bootyman\AppData\Local\Programs\Python\Python36-32\lib\multiprocessing\process.py", line 258, in _bootstrap
    self.run()
  File "C:\Users\Bootyman\AppData\Local\Programs\Python\Python36-32\lib\multiprocessing\process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\Bootyman\PycharmProjects\vvis\seperateenvtest.py", line 94, in vvis_graphics
    Cube()
  File "C:\Users\Bootyman\PycharmProjects\vvis\seperateenvtest.py", line 66, in Cube

 **glColor3fv(current_color[x])
IndexError: string index out of range**

Насколько я понимаю, glColor3fv предназначен для чисел с плавающей запятой, хранящихся в векторе, вы понимаете, что я делаю неправильно?

...