请告诉我的使用之间背面剔除和深度在OpenGL缓冲器区别?

有帮助吗?

解决方案

背面剔除是当OpenGL的确定面向面临远离观察者,因此看不见。想想一个立方体。不管如何你旋转立方体,3个面永远是不可见的。弄清楚面对这些,从多边形的列表中删除这些被绘制,你只是减半绘图列表。

深度缓冲非常简单。对于每一个多边形的每个像素画,比较它的Z值Z缓存。如果是小于在Z缓冲值设置Z缓冲值作为新的z缓冲值。如果不是,则丢弃该像素。深度缓冲给出很好的效果,但可以作为每个相当慢和每个像素需要一个值的查找。

在现实中有什么这两种方法之间的相似和它们通常都使用。给定一个立方体,你可以使用消隐,然后使用深度缓冲吸引他们首先切出一半的多边形。

剔除可以减少上呈现的多边形,但它不是一个排序算法。这就是深度缓冲是什么。

其他提示

一个给定的三角形具有两个侧面,正面和背面。你正在寻找以点出现在顶点列表中的顺序确定侧(也称为绕组)。典型地,三角形的列表具有交替卷绕,这样就可以重新使用前两个点,但在带的给定三角形的面不能交替。背面剔除是优化步骤,其中,在现场被导向远离视图的三角形,从三角形绘制的列表中删除。

一个深度缓冲器(z缓冲器)用来挂到最接近(深度是相对于视图)已经被渲染。如果接下来的抽奖名单出现的事情是落后的东西,我已经画(即,它有它的地方越远的深度),我可以跳过画它,因为它被遮挡。如果绘制新的东西更接近,我绘制它,我更新为新,越接近值的深度缓冲器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top