Используя glDrawElements с униформой?

0

В настоящее время я использую glDrawElements для отправки кучи вершин для рендеринга графического процессора. Проблема, которую я сейчас испытываю, заключается в том, что я хотел бы присвоить значение для равномерной (называемой material) для каждой вершины, поэтому ее можно использовать в вершинном шейдере. Как я могу это сделать?

Теги:
opengl

1 ответ

1
Лучший ответ

Ты не можешь. Равномерные значения являются однородными для целого вызова рисования (отсюда и название) - и нельзя изменить символ в цепочке между вершинами одного примитива. Для значений per-vertex вы должны использовать атрибуты. GL гарантирует, что существует не менее 16 общих атрибутов, каждый из которых соответствует vec4. Если это не enoguh, вы можете использовать некоторый атрибут (или встроенный gl_VertexID) для индексации в объект буфера текстуры (или стандартную текстуру).

  • 0
    Хорошо, я использую glVertexAttribPointer , как мне получить доступ к его значению в шейдере?
  • 0
    @ M28: взгляните на эту запись в вики . Это очень базовая концепция GL, вы должны сначала изучить основы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню