您的位置:首页 > 编程语言 > Go语言

简单对比Flat, Gouraud & Phong shading

2017-11-16 17:25 741 查看
1. Flat shading:

根据表面法向量计算光照,并应用到整个面片上;速度最快,效果最差,容易暴露物体的多边形本质;

2. Phong shading:注意与Phong反射模型(Phong reflection model)区分开;

根据顶点的法向量插值计算出表面内各点的法向量,再根据光照模型逐像素计算光照值;速度最慢(大概是Gouraud的6~8倍),但效果最好(尤其是在处理高光情况下时);



3. Gouraud shading:

根据顶点法向量计算出光照,再插值计算出整个面的光照;效果比Flat shading好,尤其是被模拟的值本就是线性的时候;但由于内插值总小于顶点的最大值,故得到的高光部分只能在顶点出现,在高光面中甚至可以分辨出各个小的面元;因此可以通过充分细分来解决这一问题。速度与效果居中,应用比较广泛。

补充:通过高光情况下使用Phong shading,镜面反射弱的情况下使用Gouraud shading,可以既保证速度,又保证质量。



图片来自网络
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: