commit 2f7afccfe23a68c7d18cf018d480ed7617ff428f
Author: leszek <leszek@koltunski.pl>
Date:   Tue Feb 28 16:22:06 2017 +0000

    Fix Crawl transparency in StarWars.

diff --git a/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java b/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
index 651e846..f8a1e65 100644
--- a/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
+++ b/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
@@ -101,7 +101,8 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
   private final int GFFA_HEIGHT= (FONT_HEIGHT+VERTICAL_SPACING)*(mGFFAString.length+1);
    
   private final float CRAWL_ANGLE = -30.0f;
-   
+  private final float FOV_ANGLE   =  60.0f;
+
   private GLSurfaceView mView;
   private DistortedTexture mGFFATexture, mLogoTexture, mCrawlTexture, mCrawlBackgroundTexture, mStarTexture;
   private DistortedEffects mGFFAEffects, mLogoEffects, mCrawlEffects, mCrawlBackgroundEffects;
@@ -137,7 +138,7 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
       }
 
     mScreen = new DistortedScreen();
-    mScreen.setProjection(60.0f, 0.02f);
+    mScreen.setProjection(FOV_ANGLE, 0.02f);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -200,7 +201,10 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
 
   private void setupScreen(int w, int h)
     {
-    mCrawlBackgroundTexture = new DistortedTexture(w,(int)(h/Math.cos(CRAWL_ANGLE)));
+    double angleA = (90.0f - FOV_ANGLE/2)*Math.PI/180;
+    double angleB = (90.0f - FOV_ANGLE/2 +CRAWL_ANGLE)*Math.PI/180;
+
+    mCrawlBackgroundTexture = new DistortedTexture(w,(int)(h*Math.sin(angleA)/Math.sin(angleB)));
        
     int randomA, randomX, randomY, randomTime;
     float randomS, randomAlpha1, randomAlpha2;
@@ -412,9 +416,9 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
 
         final int transpDist = 5;
         Static4D region = new Static4D(screenW/2,(1-transpDist)*backH,transpDist*backH,transpDist*backH);
-        mCrawlBackgroundEffects.alpha(new Static1D(1-transpDist/2.0f), region, true);
+        mCrawlBackgroundEffects.alpha(new Static1D(1-transpDist*0.6f), region, true);
 
-        Dynamic3D di = new Dynamic3D(120000,0.5f);
+        Dynamic3D di = new Dynamic3D(70000,0.5f);
         di.add(new Static3D(screenW/2,+backH       , 0));
         di.add(new Static3D(screenW/2,-scale*crawlH, 0));
 
