Pyglet OpenGL Настройка цвета тумана - PullRequest
0 голосов
/ 03 ноября 2018

Я хотел бы знать, как установить цвет тумана с помощью pyglet.gl.

Я не смог найти информацию о цвете тумана в документации , но нашел это полезным. Тем не менее, код, который я написал

pyglet.gl.glFogfv(gl.GL_FOG_COLOR, (0.5, 0.7, 1.0, 1.0))

выдает ошибку: ctypes.ArgumentError: argument 2: <class 'TypeError'>: expected LP_c_float instance instead of tuple

Я не уверен, как передать ему LP_c_float из моего цветового кортежа, поскольку его нет в pyglet.gl или в приведенной выше документации.

1 Ответ

0 голосов
/ 03 ноября 2018

2-й параметр pyglet.gl.glFogfv - это массив из 4 чисел с плавающей запятой, если вам нужно создать массив ctypes с помощью (GLfloat * 4), см. pyglet.gl.glFogfv :

pyglet.gl.glFogfv(gl.GL_FOG_COLOR, (GLfloat * 4)(0.5, 0.7, 1.0, 1.0))

См. ctypes - Библиотека сторонних функций для Python - Массивы :

Массивы - это последовательности, содержащие фиксированное количество экземпляров одного типа.

Рекомендуемый способ создания типов массива - умножение типа данных на положительное целое число:

TenPointsArrayType = POINT * 10
...