标题:
光照-04.光照贴图(Lighting maps)-5
[打印本页]
作者:
look_w
时间:
2019-2-18 20:45
标题:
光照-04.光照贴图(Lighting maps)-5
练习
调整光源的ambient,diffuse和specular向量值,看看它们如何影响实际输出的箱子外观。
尝试在片段着色器中反转镜面贴图(Specular Map)的颜色值,然后木头就会变得反光而边框不会反光了(由于贴图中钢边依然有一些残余颜色,所以钢边依然会有一些高光,不过反光明显小了很多)。
解答:
vec3 diffuse = light.diffuse * diff * vec3(texture(material.diffuse, TexCoords)); // texture函数使用前面设置的纹理参数对相应颜色值进行采样,返回vec4类型
Try creating a specular map from the diffuse texture that uses actual colors instead of black and white and see that the result doesn't look too realistic. 如果你不会处理图片,你可以使用这个带颜色的镜面贴图。
最终效果:
1461575-b88c95e67446e73e.png
-添加一个叫做放射光贴图(Emission Map)的东西,即记录每个片段发光值(Emission Value)大小的贴图,发光值是(模拟)物体自身发光(Emit)时可能产生的颜色。这样的话物体就可以忽略环境光自身发光。通常在你看到游戏里某个东西(比如 机器人的眼,或是箱子上的小灯)在发光时,使用的就是放射光贴图。使用这个贴图(作者为 creativesam)作为放射光贴图并使用在箱子上,你就会看到箱子上有会发光的字了。
机器人的眼
项目代码。
实验结果如下:
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0