4

视锥体计算的各种示例使用 glGetFloatv() 来获取当前投影和模型视图矩阵(GL_PROJECTION_MATRIX,GL_MODELVIEW_MATRIX),并基于此进行一些视锥体剔除。

我已经读过 glGet* 是您不希望在主渲染循环中使用的东西;

“使用“Get”或“Is”函数会降低渲染性能。这些命令会强制图形系统在回答“Get”或“Is”查询之前执行所有排队的 OpenGL 调用。”

所以我的问题是。如何在我的代码中创建一个可靠的 Frustum 剔除算法,我应该把它放在哪里以确保这种停滞永远不会发生?

4

2 回答 2

6

您始终可以将当前矩阵存储在您的应用程序中,这样当您需要它们时,您不需要拨打 glGet 电话,您只需抓住它们......

于 2009-09-06T19:07:22.163 回答
4

http://www.lighthouse3d.com/opengl/viewfrustum/

于 2010-01-16T18:00:32.327 回答