
Думаю, что-то нужно сделать с шейдером или кодом рендеринга, поэтому можно кто-нибудь мне поможет?
Вершинный шейдер:
Код: Выделить всё
#version 330 core
layout (location = 0) in vec3 VertexPosition;
uniform mat4 ModelMatrix;
uniform mat4 ViewMatrix;
uniform mat4 ProjectionMatrix;
void main()
{
gl_Position = ProjectionMatrix * ViewMatrix * ModelMatrix * vec4(VertexPosition, 1.0);
}
Код: Выделить всё
glBufferData(GL_ARRAY_BUFFER, MemberModel->GetVertecies().size() * sizeof(glm::vec3), MemberModel->GetVertecies().data(), GL_STATIC_DRAW);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, MemberModel->GetVertexIndices().size() * sizeof(unsigned int), MemberModel->GetVertexIndices().data(), GL_STATIC_DRAW);
Код: Выделить всё
glDrawElements(GL_TRIANGLES, static_cast(MemberModel->GetVertexIndices().size()), GL_UNSIGNED_INT, 0);
Изменить: спасибо @Pepijn Kramer за указание на то, что в файлах .obj массивы начинаются с 1. но в С++ они начинаются с 0
Подробнее здесь: https://stackoverflow.com/questions/793 ... -correctly
Мобильная версия