Board logo

标题: 光照-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