Куб отображается неправильно [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Куб отображается неправильно [закрыто]

Сообщение Anonymous »

Я пытался добавить загрузку модели в свое приложение openGL, когда я закончил ее и когда распечатал вершины и индексы, они оба правильные, но когда я пытаюсь сейчас визуализировать модель, я получаю следующее:
Изображение

Думаю, что-то нужно сделать с шейдером или кодом рендеринга, поэтому можно кто-нибудь мне поможет?
Вершинный шейдер:

Код: Выделить всё

#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);
}
Как загрузить во vram:

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»