这是一个非常复杂的话题。
首先要考虑的是平截头截锥体。它将滤除不在相机视野内的对象,因此您可以在渲染阶段传递它们。
第二件事是对相机中的对象进行Z排序。最好从前到后进行渲染,以使附近的对象将“接近值”写入深度缓冲区,并且不会绘制远处的对象的像素,因为它们不会通过深度测试。这将节省GPU的填充率和像素着色器工作。但是请注意,如果场景中有半透明的对象,则应以从后到前的顺序首先绘制它们,以使可以进行alpha混合。
如果您使用某种空间分区(例如Octree或Quadtree),则这两件事都是可以实现的。哪个更好取决于您的游戏。Quadtree适用于大型开放空间,Octree适用于具有多个级别的室内空间。
而且,不要忘记可以在DirectX和OpenGL中用单行启用的简单背面剔除,以防止绘制背面带有摄像头的面部。
问题真的太广泛了:o)查看这些“指针”,并进行更具体的询问。
典型的透支抑制剂为:
在更高的逻辑级别上:
编辑:添加了模板测试,确实具有有趣的透支预防用途,尤其是在2d / 3d的组合中。
归档时间: |
|
查看次数: |
4264 次 |
最近记录: |