分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
上一篇简单介绍了OpenGL中使用的光照模型,本篇结合OpenGL ES API说明如何使用光照效果:
- 设置光源
- 定义法线
- 设置物体材料光学属性
光源
OpenGL ES中可以最多同时使用八个光源,分别使用0到7表示。
OpenGL ES光源可以分为
- 平行光源(Parallel light source), 代表由位于无限远处均匀发光体,太阳可以近似控制平行光源。
- 点光源(Spot light source) 如灯泡就是一个点光源,发出的光可以指向360度,可以为点光源设置光衰减属性(attenuation)或者让点光源只能射向某个方向(如射灯)。
- 可以为图形的不同部分设置不同的光源。
下面方法可以打开某个光源,使用光源首先要开光源的总开关:
gl.glEnable(GL10.GL_LIGHTING);
然后可以再打开某个光源如0号光源:
gl.glEnable(GL10.GL_LIGHTI0);
设置光源方法如下:
- public void glLightfv(int light,int pname, FloatBuffer params)
- public void glLightfv(int light,int pname,float[] params,int offset)
- public void glLightf(int ligh