Я читал спецификацию openGL 1.5 и видел, что любая ссылка на то, что раньше была переменной, содержащей ссылку на матрицу ModelView (например, gl_ModelViewMatrix), устарела и доступна только в каком-то режиме совместимости (что не поддерживается на моем GPU).Как получить матрицу ModelView в GLSL 1.5?
Я видел несколько примеров, сначала извлекающих матрицу ModelView или их создание, а затем их отправку на GPU как единую переменную.
Теперь все это кажется мне просто отсталым; даже для простого Vertex Shader вы во многих случаях захотите использовать какое-то преобразование в геометрии.
Так что мне действительно интересно сейчас; есть any способ получить текущую матрицу ModelView из вершинного шейдера, используя GLSL 1.5?
хорошо, это объясняет. Не уверен, если мне это нравится. – Bartvbl
@Bartvbl: Ну, ни одно практическое приложение фактически не использовало матричный стек, кроме загрузки матрицы, созданной где-то еще с помощью glLoadMatrix. Каждая анимационная система будет генерировать данные анимации как готовые к использованию матрицы. Для вычислений представлений вы уже имеете матрицы проекции и просмотра для использования в другом коде, чем OpenGL. Таким образом, весь матричный стек фактически был избыточным и стал громоздким в использовании. Выполнение этой функции с помощью свободно определяемой униформы намного удобнее, когда программа достигает определенной сложности. – datenwolf