Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;
void main()
{
gl_Position = projection * view * model * vec4(position, 1.0f);
}Мне кажется странным, что через юниформы передаются три матрицы, которые при вычислении позиции каждой вершины перемножаются заново (и так почему-то во многих примерах в интернете).
Насколько вероятно то, что в данном варианте при компиляции шейдеров драйвер заметит фишку и перемножит матрицы только один раз, а потом для всех вершин будет умножать вектор только на одну матрицу? типа (pvmmatrix) * vec4 ?
Вообще-то Ambient, Diffuse и Specular в OpenGL присутствуют и без Фонга, при освещении Гуро.
learnopengl. Урок 2.1 — Цвета