J
Ich kann dir nicht genau sagen warums nicht funktioniert,
aber vllt hilft dir ja ein Beispielcode von mir, der Funktioniert ^^
// ............. das ganze init und buffer zeug
glUseProgram(this->programID);
this->MVP = this->viewport->getCamera()->getProjectionMatrix() * this->viewport->getCamera()->getViewMatrix() * this->modelMatrix;
glUniformMatrix4fv(this->matrixID, 1, GL_FALSE, &this->MVP[0][0]);
// 1rst attribute buffer : vertices
glEnableVertexAttribArray(0);
glBindBuffer(GL_ARRAY_BUFFER, this->vertexBuffer);
glVertexAttribPointer(
0, // attribute 0. No particular reason for 0, but must match the layout in the shader.
3, // size
GL_FLOAT, // type
GL_FALSE, // normalized?
0, // stride
(void*)0 // array buffer offset
);
// ............ das ganze draw zeug
#version 430 core
layout(location = 0) in vec3 pos;
uniform mat4 MVP;
void main(){
gl_Position = MVP * vec4(pos, 1);
}
vllt liegt es ja schon daran, dass du hinter deinem layout "uniform" statt "in" geschrieben hast
und "gl_Position" brauchst du nicht großartig vor definieren.
vllt hilft dir das ja
Gruß
Jango