关于OpenGL ES中灯光与材质的疑惑
太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商业用途-保持一致”创作公用协议
在OpenGL ES 2.0 中,灯光对几何体的影响,是在着色器中进行计算后来作用于每个片元的颜色的。
只听说过灯光有颜色和亮度的不同,而且灯光是因为作用了具有不同环境光、反射光和镜面高光性质的材质上,才表现出这些特性的差异的,简单地说,是由材质本身影响其看上去的效果的,但OpenGL ES 2.0中居然每一个光源也可以提供这三种特性,那么就是说光源和材质都有环境光、反射光和镜面高光的特性,这在3dmax中还真没看见过,而且也咨询过3dmax美工,确实光源没有这些差异。
这样的话,就不能单从颜色和亮度来考虑一个光源了。
其实,确实增加了很多麻烦,不过可能这也是灵活性的一种全现吧,同样一个场景中的材质,可以通过灯光来改变其本身的特质,这可能就是卖猪肉的要窝在一个小黑屋里,上面挂着一盏红色的灯的原因吧,就是为了把肉照得通红通红的,即使是死猪肉,也能给你照成象是刚杀的猪肉一样,绝了!!!
同时引出一个问题,如果要用3ds或aes格式导出模型,使用3dmax中构建的光源,那这得怎么对应呢?确实有些让人头疼啊!
其实感觉这三种反光特性就是一个物体表面的光滑程序,如果很光滑,那一定会有镜面高光,如果做了磨砂处理,那镜面高光基本就没了,而物体表面的本身颜色的光反射就不太知道了,而环境光在材质上如何反射,也更不知道了,盼有懂得大兄弟来指指路子,谢谢了先。
时间: 2024-11-29 16:42:39