CHEN Yihui 5 жил өмнө
parent
commit
b7f40a4c2e
2 өөрчлөгдсөн 13 нэмэгдсэн , 1 устгасан
  1. 9 0
      main.cc
  2. 4 1
      readme.txt

+ 9 - 0
main.cc

@@ -239,6 +239,15 @@ void idle(void) { glutPostRedisplay(); }
 void keyboard(unsigned char key, int mousex, int mousey) {
   switch (key) {
   case 033: // Escape Key
+    exit(0);
+    break;
+  case 'f':
+    if (foggy > 0) {
+      foggy = 0;
+    } else {
+      foggy = 1;
+    }
+    break;
   case '1':
     tau += 0.01;
     break;

+ 4 - 1
readme.txt

@@ -19,7 +19,7 @@
     9,6:控制观察者z位置(升降)
     8,5:控制看的俯仰
     1,3:控制观察者的侧看
-
+    f:切换雾开关
 实现技术
   地形绘制
     使用了gc_tex,把坐标缩小到1/50,地形没有颜色,有纹理
@@ -38,6 +38,9 @@
     面的法向在顶点着色器里计算,
     面的光照在片段着色器里计算
+    使用uniform变量,传输是否有雾(int),及眼睛位置(vec3)到顶点着色器,
+    在顶点着色器里根据距离(的平方)计算雾化参数(使用指数),若没雾直接输出雾化参数1
+    在片段着色器里计算雾化效果
   模型的数据结构,效率和交互
     对于顶点,纹理坐标,纹素,颜色的数据上面已经说明
     对于碰撞检测使用cpu计算,在二维数组[x][y]中存放地形高度z,