gpt4 book ai didi

c++ - 如何在顶点着色器中使用 LookAt 矩阵

转载 作者:行者123 更新时间:2023-11-28 02:26:13 33 4
gpt4 key购买 nike

假设我有以下顶点着色器代码:

attribute vec4 vPos;
uniform mat4 MVP;
uniform mat4 LookAt;

void main{
gl_Position = MVP * vPos;
}

如何在此着色器中使用 LookAt 矩阵来定位相机的眼睛?我试过 LookAt * MVP * vPos 但这似乎不起作用,因为我的三角形刚从屏幕上消失了!

最佳答案

我建议将 LookAt 移到着色器外部,以防止对每个顶点进行不必要的计算。着色器仍然可以

gl_Position = MVP * vPos;

然后您使用 glm 在应用程序中操作 MVP。例如:

projection = glm::perspective(fov, aspect, 0.1f, 10000.0f);
view = glm::lookAt(eye, center, up);
model = matrix of the model, with all the dynamic transforms.

MVP = projection * view * model;

关于c++ - 如何在顶点着色器中使用 LookAt 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30575253/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com