我正在使用强制使用固定管道转换的NV 路径扩展。现在,对于视图和模型矩阵,我只是自己滚动并通过以下方式加载它们:
glMatrixPushEXT(GL_MODELVIEW);
glMatrixLoadfEXT(GL_MODELVIEW, value_ptr(viewmodel) );
我对透视矩阵 FOV 有疑问。创建 persp 矩阵的固定方法是这样的:
glMatrixLoadIdentityEXT(GL_PROJECTION);
glMatrixFrustumEXT(GL_PROJECTION, -aspect_ratio, aspect_ratio, -1, 1, nearF, farF);
但它不允许传递自定义 FOV。所以它可能会根据上述方法的 l ,r ,b ,t 参数创建一些默认的 FOV。我可以用吗:
glMatrixLoadfEXT(GL_PROJECTION, myProjectionMatrix);
在不使用 glMatrixFrustumEXT 的情况下加载自定义投影矩阵?
更新:
正如一些人指出的那样,我可以像处理模型视图一样加载投影矩阵。但是我发现我的自定义投影看起来与使用 glMatrixFrustumEXT() 时的投影矩阵不同。可能FOV计算不同。有人知道 glMatrixFrustumEXT 是如何计算 FOV 的吗?