本文共 405 字,大约阅读时间需要 1 分钟。
微软提供了深度缓存(Z缓存)配套着深度测试技术,来实现物体之间相互的遮挡关系。
深度测试类似于一口井,每个物体都被赋予了一个深度值,深度越深的物体离井口越远,深度越浅,离井口就越近。深度浅的物体会把深度深的物体遮挡。
井口的深度也就是物体在世界坐标中矩阵的Z坐标值。深度缓冲区(Z缓存),Direct3D中用来存储(只存储深度信息)绘制到屏幕上的每个像素点的深度信息的一块内存缓冲区,如果屏幕分辨率为800*600像素的话,那么深度缓存的大小也是800*600。
当D3D将场景渲染到目标表面上时,它使用深度缓冲区来决定光栅化后每个多边形像素前后的遮挡关系,最终决定哪个颜色值会被绘制出来。
D3D通过比较当前绘制的像素点的深度与对应深度缓冲区的点的深度来决定是否绘制当前像素。如果深度测试的结果为TRUE,那么绘制当前像素,并用当前像素点的深度之来更新深度缓冲区。 深度缓冲区对应于屏幕大小的一块二维区域。转载地址:http://tqyjn.baihongyu.com/