Opengl имеет правую систему координат.Это означает, что значения z увеличиваются по отношению ко мне.
правая система координат
Я рисую два треугольника:
float vertices[] =
{
//position //color
//triangle 1
0.0f, 1.0f, -1.0f, 1.0f, 0.0f, 0.0f,//0
-1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f,//1
1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f,//2
//triangle 2
0.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f,//3
1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f,//4
-1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f//5
};
Почему треугольник 1 впереди?Треугольник 2 должен быть впереди, потому что 0.0f> -1.0f.
У меня есть только gl_Position = vec4(aPos, 1.0);
в вершинном шейдере.
После него, если я перевожу вершины на z = -3в вершинном шейдере этот перевод ведет себя так, как и должно быть.Объект становится дальше.