Wenn ich mit dieser Funktion
die Projection Matrix
Die mir bei ner FOV von 90 "1.0;0.0;0.0;0.0;
0.0;1.0;0.0;0.0;
0.0;0.0;-1.00002;-1.0;0.0;
0.0;-0.0200002;0.0;"
ausgibt
auf den Vertexshader
Hinzufüge, wird der Bildschirm schwarz.
Ohne die ProjectionMatrix funktioniert alles bis auf die Matrix...
Java:
protected void loadMatrix(int location, Matrix4f value) {
try (MemoryStack stack = MemoryStack.stackPush()) {
FloatBuffer buffer = stack.mallocFloat(16);
value.store(buffer);
for(int i = 0; i < 16; i++) {
System.out.print(buffer.get(i) + ";");
}
System.out.println();
GL20.glUniformMatrix4fv(location, false, buffer);
}
}
Code:
float f = (float) (1f/(Math.tan(Math.toRadians(fov)/2)));
ret.matrix[0][0] = f/aspect;
ret.matrix[1][1] = f;
ret.matrix[2][2] = (zNear+zFar)/(zNear-zFar);
ret.matrix[3][2] = -1f;
ret.matrix[2][3] = -(2f*zNear*zFar)/(zFar-zNear);
ret.matrix[3][3] = 0;
0.0;1.0;0.0;0.0;
0.0;0.0;-1.00002;-1.0;0.0;
0.0;-0.0200002;0.0;"
ausgibt
auf den Vertexshader
Code:
in vec3 position;
in vec2 uvs;
out vec2 pass_uvs;
uniform mat4 projectionMatrix;
void main(void){
gl_Position = projectionMatrix * vec4(position, 1.0);
pass_uvs = uvs;
}
Hinzufüge, wird der Bildschirm schwarz.
Ohne die ProjectionMatrix funktioniert alles bis auf die Matrix...