的值也要改成这点的z坐标值。如果这点的z坐标值小于z缓冲器中的值,则说明对应象素已经显示了对象上一个点的属性,该点要比考虑的点更接近观察点。对显示对象的每个面上的每个点都做了上述处理后,便可得到消除了隐藏面的图。Z-Buffer算法在象素级上以近物取代远物。形体在屏幕上的出现顺序是无关紧要的。这种取代方法实现起来远比总体排序灵活简单,有利于硬件实现。然而Z-Buffer算法存在缺点:占用空间大,没有利用图形的相关性与连续性。Z-Buffer算法以算法简单著称,但也以占空间大而闻名。一般认为,Z-Buffer算法需要开一个与图象大小相等的缓存数组ZB,实际上,可以改进算法,只用一个深度缓存变量zb。多面体消隐的改进深度缓存算法Z-Buffer(){帧缓存全置为背景色//扫描整个屏幕for(屏幕上的每个象素(i,j)){深度缓存变量zb置最小值MinValuefor(多面体上的每个多边形Pk){if(象素点(i,j)在pk的投影多边形之内){计算Pk在(i,j)处的深度值depth;if(depth大于zb){zb=depth;indexp=k;}}}If(zb~=MinValue)计算多边形Pindexp在交点(I,j)处的光照颜色并显示}上面的算法要求点与多边形的包含性检测,实际上是判断一个给定的点是在一个多边形内、在多边形外,还是在多边形边界上。可采用射线法或弧长法。六、参考文献1、《计算机图形学》徐文鹏北京大学出版社2、《MFCwindows程序设计》JeffProsise清华大学出版社3、《windows图形编程》FengYuan机械工业出版社4、《C语言程序设计》林小茶中国铁道出版社5.《计算机图形学基础教程》孔令德清华大学出版社6.《计算机图形学课程设计》唐敏浙江大学出版社记录激动时刻,赢取超级大奖~点击链接,和我一起参加"2010:我的世界杯Blog日志"活动~