OpenGL超级宝典学习笔记——光照参数与材料属性

2015-02-25 22:43:29 · 作者: · 浏览: 30

glEnable(GL_LIGHTING);


这个函数调用告诉OpenGL使用材料属性和光照参数去决定每个顶点的颜色值。如果没有开启这个函数,则看到的物体是昏暗的。开启光照后会根据你的材料属性和光照参数计算顶点的颜色值。下图对比未开启光照和开启光照的效果。


image(未开启光照)


image(开启光照)


OpenGL提供了一种全局的环境光。这种光是一种向所有方向均匀发射的光源。它可以照明没有被光源直接照射的物体的背面。


在OpenGL中通过glLightModel这个函数来设置全局环境光。第一个参数是GL_LIGHT_MODEL_AMBIETN。


?


设置好了全局环境光源后,我们需要为设置材料属性。有两种设置材料属性的方式,第一种是在指定多边形之前调用glMaterial函数。例子:


image


?