Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
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 — Цвета