没有glGet *调用的opengl frustum剔除

时间:2009-09-06 13:12:13

标签: java opengl jogl lwjgl frustum

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

我已经读过glGet *是你在主渲染循环中不想要的东西;

  

“使用”获取“或”是“功能会变慢   向下渲染表现。这些   命令强制图形系统   之前执行所有排队的OpenGL调用   它可以回答“获取”或“是”   查询“。

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

2 个答案:

答案 0 :(得分:6)

您可以随时将当前矩阵存储在您的应用中,这样当您需要它们时,您无需进行glGet调用,只需抓住它们即可...

答案 1 :(得分:4)