3D编程技巧:光照、法线与Mipmapping
1. 光照相关类与操作
1.1 定向光类
定向光类与点光源类类似,但方向数组的第四个元素设置为1,并且有一个 setDirection() 方法来指定光照方向。以下是相关代码:
public void setDirection(float x, float y, float z) {
direction[0] = -x;
direction[1] = -y;
direction[2] = -z;
}
public void enable(GL10 gl, int lightId) {
gl.glEnable(lightId);
gl.glLightfv(lightId, GL10.GL_AMBIENT, ambient, 0);
gl.glLightfv(lightId, GL10.GL_DIFFUSE, diffuse, 0);
gl.glLightfv(lightId, GL10.GL_SPECULAR, specular, 0);
gl.glLightfv(lightId, GL10.GL_POSITION, direction, 0);
lastLightId = lightId;
}
public void disable(GL10 gl) {
gl.glDisable(lastLightId);
}
1.2 材质类
材质由环境光、漫反射光和镜面反射光的RGBA颜色定义。可以通过以下代码设置材
超级会员免费看
订阅专栏 解锁全文
1471

被折叠的 条评论
为什么被折叠?



