|
@@ -29,9 +29,9 @@
|
|
|
在host端维护飞机坐标x,y,z以及观察的方向theta,phi,侧看的角度tau
|
|
|
在cpu端用lookat和Frustum计算model_view和projection,使用uniform传给gpu
|
|
|
物体绘制
|
|
|
- 设置了物体,物体没有纹理,没有颜色,
|
|
|
+ 设置了物体cow,把坐标缩小到1/50,物体没有纹理,没有颜色,
|
|
|
物体的纹理坐标都设成一个特殊坐标,
|
|
|
- 在片段着色器中增加判断,如果纹理坐标是特殊坐标,则涂特殊的颜色
|
|
|
+ 在片段着色器中增加判断(区分地形和物体),如果纹理坐标是特殊坐标,则涂特殊的颜色
|
|
|
光照
|
|
|
顶点法向用cpu预先计算,存在glBuffer里,
|
|
|
顶点光照在顶点着色器里计算,
|
|
@@ -40,7 +40,7 @@
|
|
|
雾
|
|
|
使用uniform变量,传输是否有雾(int),及眼睛位置(vec3)到顶点着色器,
|
|
|
在顶点着色器里根据距离(的平方)计算雾化参数(使用指数),若没雾直接输出雾化参数1
|
|
|
- 在片段着色器里计算雾化效果
|
|
|
+ 在片段着色器里计算雾化效果,雾的颜色写在片段着色器里
|
|
|
模型的数据结构,效率和交互
|
|
|
对于顶点,纹理坐标,纹素,颜色的数据上面已经说明
|
|
|
对于碰撞检测使用cpu计算,在二维数组[x][y]中存放地形高度z,
|