(Sorry für meine Englisch-Kenntnisse ...)Warum funktioniert diese Projektionsmatrix nicht?
tryed ich meine eigenen Shader mit GLSL #version 440 so zu schreiben, auch nur bekomme ich meine eigene Projektion Matrix verwenden, aber ich dieses: anstelle des (der zweite ist ohne die Projektionsmatrix)
Weiß jemand den Grund für das, was passiert?
Matrix Definition:
// projectionMatrix is global defined
void Perspective(float fovy, float aspect, float near, float far)
{
fovy = degree*90;
float f;
f = 1/tan(fovy/2);
projectionMatrix[0] = f/aspect; projectionMatrix[4] = 0; projectionMatrix[8] = 0; projectionMatrix[12] = 0;
projectionMatrix[1] = 0; projectionMatrix[5] = f; projectionMatrix[9] = 0; projectionMatrix[13] = 0;
projectionMatrix[2] = 0; projectionMatrix[6] = 0; projectionMatrix[10] = (far+near)/(near-far); projectionMatrix[14] = (2*far*near)/near-far;
projectionMatrix[3] = 0; projectionMatrix[7] = 0; projectionMatrix[11] = -1; projectionMatrix[15] = 1;
gl
UniformMatrix4fv(posProjectionMatrix, 1, GL_TRUE, projectionMatrix);
}
Vertex-Shader:
#version 440
in vec4 vertexPosition;
in vec4 vertexColor;
out vec4 Color;
uniform mat4 modelMatrix;
uniform mat4 projectionMatrix;
uniform mat4 viewMatrix;
void main()
{
gl_Position = projectionMatrix*vec4(vertexPosition.xyz, 1);
Color = vertexColor;
}
//END
Wenn Sie mehr Code benötigen, fragen Sie einfach.