Cube wird nicht korrekt gerendert [geschlossen]
Posted: 18 Jan 2025, 18:52
Ich habe versucht, das Laden von Modellen zu meiner OpenGL-Anwendung hinzuzufügen. Als ich damit fertig war und wann die Scheitelpunkte und Indizes ausgedruckt werden sollen, waren beide korrekt, aber wenn ich jetzt versuche, das Modell zu rendern, erhalte ich Folgendes:

Ich denke, es ist etwas zu tun Mit dem Shader oder dem Rendering-Code kann das auch jemand tun Helfen Sie mir?
Vertex Shader:
So lade ich auf vram hoch:
Wie ich rendere:
Außerdem hat der Code zuvor ein einfaches Quadrat gerendert.
Bearbeiten: Vielen Dank an @Pepijn Kramer für den Hinweis, dass Arrays in .obj-Dateien bei 1 beginnen aber in C++ beginnen sie bei 0

Ich denke, es ist etwas zu tun Mit dem Shader oder dem Rendering-Code kann das auch jemand tun Helfen Sie mir?
Vertex Shader:
Code: Select all
#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);
}
Code: Select all
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);
Code: Select all
glDrawElements(GL_TRIANGLES, static_cast(MemberModel->GetVertexIndices().size()), GL_UNSIGNED_INT, 0);
Bearbeiten: Vielen Dank an @Pepijn Kramer für den Hinweis, dass Arrays in .obj-Dateien bei 1 beginnen aber in C++ beginnen sie bei 0