项目向量到screenSpace

时间:2014-08-06 09:25:36

标签: opengl

我有一个右向量(glm :: vec3 - 称为右)和一个有效的投影矩阵P(glm :: mat4) 我现在需要在屏幕空间中使用正确的向量。这就是混乱开始的地方。 我的GLSL着色器矢量的制服是vec2。我以为我会用这一小段代码用glm计算C ++中的screenSpaceRightVector:

glm::vec4 screenSpaceRightVector = (camData->P * glm::vec4(camData->right,0.0f));

并使用以下行将其上传到着色器:

glUniform2f(glGetUniformLocation(shaderProgram, "screenSpaceRightVector"), screenSpaceRightVector.x, screenSpaceRightVector.y);

在我的例子中,右矢量是摄像机坐标系的x轴。

我对screenSpaceRightVector的计算是否正确?

0 个答案:

没有答案