逐顶点光照 逐像素光照 差异对比

2021/6/10 10:51:43

本文主要是介绍逐顶点光照 逐像素光照 差异对比,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

逐顶点光照(Gouraud着色法)

先计算,再插值,控制精度为triangle;
在vertex阶段分别计算每个顶点的颜色值,在pixel阶段再通过双线性插值计算三角形区域中其它像素的颜色。
优点:
1.当处理高精度多边形模型时,由于每个多边形所覆盖的区域很小,因此插值之后每个像素的误差也很小,所以逐顶点光照可以工作的很好;

2.如果三角形所覆盖的像素数量大于顶点数量,其效率相对于pixel较高;

缺点:
1.若顶点过多,效率慢;

2.处理某些跨度较大的多边形(比如:低精度模型,弧度较大的模型),由于跨度较大,插值后差异较大,影响最终效果;

3.渲染一些与位置相关的光照效果(比如高光)时,得到的效果就会有问题。如果在多边形的中心有高光,而且这个高光没有扩散到该多边形的任何顶点,使用Gouraud着色法就不会渲染出任何效果;而如果正好是多边形的顶点上有高光,那么这个点上的高光是正确的,但插值会导致高光以很不自然的形式扩散到相邻的多边形上。

逐像素光照(Phong着色法)
先插值,再计算,控制精度为pixel;
从多边形顶点的法线到多边形表面进行差值;
优点:
1.在对于有较小的高光曲线区的反射模型,例如PHONG模型时,Phong着色法比Gouraud着色法更优。但运算程序也比前者为复杂。



这篇关于逐顶点光照 逐像素光照 差异对比的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程