Как получить матрицу ModelView в GLSL 1.5? - PullRequest
1 голос
/ 27 декабря 2011

Я читал спецификацию openGL 1.5 и увидел, что любая ссылка на то, что раньше было переменной, содержащей ссылку на матрицу ModelView (например, gl_ModelViewMatrix), устарела и доступна только в некоторой совместимости режим (который не поддерживается моим графическим процессором).

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

Теперь все это кажется мне отсталым; даже для простого вершинного шейдера вы во многих случаях захотите использовать какое-то преобразование геометрии.

Так что мне действительно интересно сейчас; Есть ли любой способ получить текущую матрицу ModelView из вершинного шейдера, используя GLSL 1.5?

Ответы [ 2 ]

4 голосов
/ 27 декабря 2011

В ядре OpenGL-3 полностью отсутствует матричный стек, т. Е. Встроенный вид модели, проекция, текстура и цветовые матрицы. Теперь от вас ожидается, что вы будете применять матричную математику и снабжать матрицы через самостоятельно выбранную форму.

0 голосов
/ 27 декабря 2011

В ядре openGL нет встроенной матричной системы / lib - начиная с версии 3. +.Многие люди имели схожие (плохие) мнения об этом «огромном изменении» в openGL.

Вы должны использовать свой собственный набор функций для выполнения матричного вычисления.Смотрите библиотеки вроде: GLM или lighthouse3D .

В целом было очень полезно иметь матричные функции в OpenGL при обучении.Теперь вам нужно искать другие решения ... С другой стороны, это не проблема для игровых движков или игровых фреймворков, которые обычно имеют свои собственные математические библиотеки.Так что для них «новый» OpenGL еще проще в использовании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...