Java教程

光照模型

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

1. 纯色

最简单的着色方式。整个模型都只有一种颜色。

 

2. 顶点颜色

每个顶点取一种颜色,图元内的像素,则使用插值法生成颜色。

纯色也可以视为这种方式,可以认为是所有顶点都共用一种颜色。

 

3. 贴图

每个像素都可以对应到贴图中的一个位置,然后使用插值或者临近点的方法来得到一个像素颜色。

 

4. Gouraud着色法

对于光照,有3种颜色:环境光、漫反射、高光。

还有自发光,自发光就是自身的颜色。

环境光也类似,它是纯色的,各处都一样。

漫反射则与光线的方向有关。

高光则与光线和观察的方向有关。

Gouraud着色法,高洛德着色法,高氏着色法。

它在每个顶点处计算一次颜色,然后每个像素通过插值得到颜色。

 

5. Phong着色法

它的计算方法与Gouraud着色法一样,不过,它是每个像素单独计算颜色。

顶点处有提供法向量,而像素处是通过插值得到法向量的。

显然,它计算的数量要多,但是也更加细腻。尤其是对于高光而言,因为它是非线性的。

根据法向量n,光线方向l,可以计算反射光向量r

r = 2 (n * l)n - l

 

6. Blinn-Phong着色法

小小修改了一下Phong着色法,使得速度加快了一些。

 

7. Lambert

没有高光。

 

这篇关于光照模型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!