OSDN Git Service

Fix leaf movement in fall in landscape.
authorJason Sams <rjsams@android.com>
Fri, 12 Feb 2010 23:10:01 +0000 (15:10 -0800)
committerJason Sams <rjsams@android.com>
Fri, 12 Feb 2010 23:10:01 +0000 (15:10 -0800)
res/raw/fall.rs

index e183178..0e9c340 100644 (file)
@@ -161,15 +161,14 @@ int drawLeaf(struct Leaves_s *leaf) {
 
         color(0.0f, 0.0f, 0.0f, alpha * 0.15f);
 
+        matrixLoadIdentity(matrix);
+        matrixTranslate(matrix, x - State->xOffset * 2, y, tz);
         if (State->rotate) {
-            matrixLoadRotate(matrix, 90.0f, 0.0f, 0.0f, 1.0f);
-        } else {
-            matrixLoadIdentity(matrix);
+            matrixRotate(matrix, 90.0f, 0.0f, 0.0f, 1.0f);
         }
 
         float shadowOffet = a / 5;
 
-        matrixTranslate(matrix, (x - State->xOffset * 2) + (shadowOffet / 2), y - shadowOffet, tz);
         matrixScale(matrix, s, s, 1.0f);
         matrixRotate(matrix, r, 0.0f, 0.0f, 1.0f);
         vpLoadModelMatrix(matrix);
@@ -184,12 +183,11 @@ int drawLeaf(struct Leaves_s *leaf) {
         color(1.0f, 1.0f, 1.0f, 1.0f);
     }
 
+    matrixLoadIdentity(matrix);
+    matrixTranslate(matrix, x - State->xOffset * 2, y, tz);
     if (State->rotate) {
-        matrixLoadRotate(matrix, 90.0f, 0.0f, 0.0f, 1.0f);
-    } else {
-        matrixLoadIdentity(matrix);
+        matrixRotate(matrix, 90.0f, 0.0f, 0.0f, 1.0f);
     }
-    matrixTranslate(matrix, x - State->xOffset * 2, y, tz);
     matrixScale(matrix, s, s, 1.0f);
     matrixRotate(matrix, r, 0.0f, 0.0f, 1.0f);
     vpLoadModelMatrix(matrix);