Что эквивалентно glColor4f в OpenGLESv2? - PullRequest
0 голосов
/ 23 апреля 2019

Мне нужно портировать приложение с GL на GLESv2, и мне интересно, каков соответствующий вызов для glColor4f в OpenGL ES 2.0.

Я прочитал о glVertexAttrib4f, но не могу понятькак это использовать.

1 Ответ

0 голосов
/ 24 апреля 2019

glColor4f является частью старого конвейера с фиксированными функциями, и теперь он устарел.Обычно было два варианта использования для glColor4f ....

  1. Чтобы установить цвет перед визуализацией модели, чтобы вся модель имела один и тот же цвет.
  2. Чтобы установить разные цвета для каждой вершины.

В OpenGL на базе GLSL вам теперь нужно сделать это с помощью:

  1. Создайте унифицированный vec4 в вашем шейдере, используйте glGetUniformLocation, чтобы получить местоположение вашего "цвета"атрибут, затем используйте glUniform4f, чтобы установить значение.
  2. Создайте изменяющийся vec4 в своем шейдере, используйте glGetAttribLocation, чтобы запросить местоположение для вашего атрибута "vert_colour", а затем, чтобы указать данные цвета, используйте glVertexAttribXX, если вы действительно хотите имитироватьстарый подход glBegin / glEnd, или предпочтительно использовать glVertexAttribPointer, чтобы сообщить шейдеру, что нужно читать данные из VBO.
...