[computer graphics]消隐算法Z-Buffer深度测试
Z缓冲区算法(Z-Buffer)
将多边形投影到2D平面上时,还需要解决一个问题,就是遮挡问题,也就是消除隐藏面,常用的是Z-Buffer算法。
一个帧缓来村像素的颜色,一个深度缓存来存放每个像素对应物体的深度值。
总的思想是,如果当前操作的像素值的深度值大于深度缓存中对应的深度值(因为往-Z方向看,所以值大的离视点近,也就是在前面),那么帧缓存存入这个颜色值,并把对应的深度缓存也修改成此像素的深度值。
伪代码
Z-Buffer() { 帧缓存置为背景色; 深度缓存全置为最小Z值; for(每个多边形) { 扫描转换该多边形; for(该多边形覆盖的每个像素(x,y)) { 计算该多边形在该像素的深度值Z(x,y); if(Z(x,y)>Z buffer在(x,y)的值)//深度测试 { 把Z(x,y)存入Z缓存中(x,y)处; 把多边形在(x,y)处的颜色值存入帧缓存(x,y)处 } } } }
相关推荐
湾区人工智能 2020-11-20
Pokemogo 2020-11-16
baijingjing 2020-11-16
baijingjing 2020-11-15
Site 2020-11-07
lwnylslwnyls 2020-11-06
justaipanda 2020-11-05
MachineIntellect 2020-11-02
xueyuediana 2020-10-30
GeraldJones 2020-10-30
Tips 2020-10-29
baijingjing 2020-10-28
baijingjing 2020-10-27
硕鼠 2020-10-26
playoffs 2020-10-26
scuyxi 2020-10-25
playoffs 2020-10-25
yise001 2020-10-23