java - 没有 glGet* 调用的 opengl 截锥体剔除

标签 java opengl jogl lwjgl frustum

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

我读到 glGet* 是您在主渲染循环中不想要的东西;

"Using "Get" or "Is" functions slows down render performance. These commands force the graphic system to execute all queued OpenGL calls before it can answer the "Get" or "Is" query."

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

最佳答案

您始终可以将当前矩阵存储在您的应用程序中,这样当您需要它们时,您无需进行 glGet 调用,您可以直接获取它们...

关于java - 没有 glGet* 调用的 opengl 截锥体剔除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1385647/

相关文章:

java - 为什么这个私有(private) float 字段会变成零?

java - 实例化 servlet 类时出错 [org.ran.FristServlet]

c++ - 将已经围绕另一个枢轴变换的 GL 对象的枢轴居中?

opengl - 从事件顶点数组生成平滑法线

c++ - glTranslatef 拉伸(stretch)我的球体,如何在不拉伸(stretch)球体的情况下平移球体?

禁用深度测试时,Java OpenGL 颜色 Material 变暗

java - 用pdfbox分割pdf,但丢失字体

java - 有什么方法可以通过 common-vfs2 为 ftp 或 cifs 支持 IPV6

java - 导出后,可运行 Jar 文件不运行

java - Java实现多维数据的平行坐标