2
(...私の英語力のため申し訳ありませんが)私はので、私はまた、私自身の投影行列を使用GLSLの#version 440で自分のシェーダを書くためにしようと試みたが、私はこれだけを得る:(その の代わりに
を2番目のものは投影行列なし)なぜこの投影行列は機能しませんか?</p> <p>
何が起こっているのか知っていますか?
マトリックスの定義:
// 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);
}
頂点シェーダ:
#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
あなたはより多くのコードが必要な場合は、単に尋ねます。