OpenGL:屏幕上3D边界框的大小

den*_*nim 5 opengl

我需要一种简单快速的方法,通过使用OpenGL Modelview和Projection矩阵以及OpenGL视口尺寸,找出3D边界框在屏幕上显示的大小(用于LOD计算).

我的第一个目的是使用gluProject()在屏幕上投射所有8个方框角,然后计算凸包的面积.此解决方案仅适用于完全位于视锥体内的边界框.

但是如何在屏幕上获取未完全在观看体积内的盒子?对一个盒子进行成像,其中7个角落在近平面的后面,并且只有一个角落在近平面的前面,因此在视锥体内.

我发现了另一个非常相似的问题Screen Projection和Culling united,但它并没有解决我的问题.

fen*_*fen 2

使用查询并获取通过渲染的样本怎么样?

http://www.opengl.org/wiki/Query_Object并查看 GL_SAMPLES_PASSED,

这样您就可以测量渲染了多少片段,并对其进行比较以获得正确的 LOD 选择。