Все хорошо, когда я хочу нарисовать один объект, например, куб. Я создаю вершины для куба, создаю буфер, создаю матрицу MVP и отправляю ее в шейдер, и все работает хорошо.
Но, что делать, когда я хочу нарисовать 2 или более объектов, например, куб и треугольник? Я полагаю, что матрицы View и Projection должны быть одинаковыми для треугольника и куба, мне нужна только разная матрица Model, верно? Это значит, что у меня будет два MVP?
//Example (using GLM):
glm::mat4 MVPC = Projection * View * ModelCube;
glm::mat4 MVPT = Projection * View * ModelTriangle;
Так что же мне теперь делать с этими двумя? Это вершинный шейдер, который хорошо работает для куба
//vertex shader
#version 330 core
layout(location = 0) in vec3 verticesCube;
uniform mat4 MVPC;
void main(){
gl_Position = MVPC * vec4(verticesCube,1);
}
А что мне делать с MVPT (треугольник) в шейдере, я пробовал возиться с разными вещами, но я не могу заставить его работать, я не могу отображать одновременно куб и треугольник.