谁能帮我区分一下OpenGL里的环境光Ambient Light,漫射光Diffuse Light,镜面反射光Specular Light吗?急。。

解决方案 »

  1.   

    如果没有环境光,未被漫射光照到的地方会变得十分黑暗。如果没有漫射光,得不到较好的阴影效果。镜面光(Specular light)则是来自于同一方向,也沿同一个方向反射。
    在OpenGL中,用材料对光的三原色(红绿蓝)的反射率大小来定义材料的颜色。与光源相对应,材料的颜色,也分为环境色,漫反射色和镜面反射色,由此决定该材料对应不同的光呈现出不同的反射率。由于人所看到物体的颜色是光源发出的光经物体反射后进入眼睛的颜色。所以,物体的颜色是光源的环境光,漫反射光和镜面反射光与材料的环境色,漫反射色和镜面反射色的综合。例如:OpenGL 的光源色是(LR,LG,LB),材质色为(MR,MG,MB),那么,在忽略其他反射效果的情况下,最终进入眼睛的颜色是(LR*MR,LG*MG,LB*MB)。 
    此外,我觉得小百货说得有道理,自己先多查一点资料吧。:)
      

  2.   

    to kyanitelj(嫣然)
        :) 有时候书本上的文字太专业了,所以会搞不懂,反而通过人把它通俗地表达出来,会有事半功倍的效果。你的两次回答,使我对这三者已经弄明白了。谢谢。(你的第二段是从教程上搬过来的,我现在也在看这个教程)