commit d2aee6ccbb59ac92cd4b04e8eb04d9e7bd486aba
Author: leszek <leszek@koltunski.pl>
Date:   Tue Feb 14 16:51:58 2017 +0000

    1. Make it possible to enable/disable DEPTH test when rendering to a Screen
    2. Using this, remove the 'Root' Node from StarWars.

diff --git a/src/main/java/org/distorted/examples/fbo/FBORenderer.java b/src/main/java/org/distorted/examples/fbo/FBORenderer.java
index 0ca7254..9614db8 100644
--- a/src/main/java/org/distorted/examples/fbo/FBORenderer.java
+++ b/src/main/java/org/distorted/examples/fbo/FBORenderer.java
@@ -72,7 +72,7 @@ class FBORenderer implements GLSurfaceView.Renderer
       if( mRoot!=null )
         {
         DistortedFramebuffer fbo = mRoot.getFramebuffer();
-        fbo.enableDepthAttachment(depth);
+        fbo.enableDepth(depth);
         }
       }
 
diff --git a/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java b/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
index d78ee1b..631ae8d 100644
--- a/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
+++ b/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
@@ -103,10 +103,10 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
   private final float CRAWL_ANGLE = -30.0f;
    
   private GLSurfaceView mView;
-  private DistortedTexture mScreenTexture, mGFFATexture, mLogoTexture, mCrawlTexture, mCrawlBackgroundTexture, mStarTexture;
-  private DistortedEffects mScreenEffects, mGFFAEffects, mLogoEffects, mCrawlEffects, mCrawlBackgroundEffects;
+  private DistortedTexture mGFFATexture, mLogoTexture, mCrawlTexture, mCrawlBackgroundTexture, mStarTexture;
+  private DistortedEffects mGFFAEffects, mLogoEffects, mCrawlEffects, mCrawlBackgroundEffects;
   private DistortedEffects[] mStarEffects;
-  private DistortedNode mRoot, mBackground;
+  private DistortedNode mBackground;
   private DistortedScreen mScreen;
   private MeshFlat mQuad;
 
@@ -124,7 +124,6 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
 
     mQuad = new MeshFlat(1,1);
 
-    mScreenEffects          = new DistortedEffects();
     mGFFAEffects            = new DistortedEffects();
     mLogoEffects            = new DistortedEffects();
     mCrawlEffects           = new DistortedEffects();
@@ -141,6 +140,7 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
 
     mScreen = new DistortedScreen();
     mScreen.setProjection(60.0f, 0.0f, 0.0f);
+    mScreen.enableDepth(false);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -173,7 +173,6 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
       mWidth = width;
       mHeight= height;
 
-      mScreenEffects.abortAllEffects();
       mGFFAEffects.abortAllEffects();
       mLogoEffects.abortAllEffects();
       mCrawlEffects.abortAllEffects();
@@ -181,10 +180,8 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
 
       for(int i=0; i<NUM_STARS; i++) mStarEffects[i].abortAllEffects();
 
-      setupScreen(width,height);
-
       mScreen.detachAll();
-      mScreen.attach(mRoot);
+      setupScreen(width,height);
       mScreen.resize(width, height);
       }
     }
@@ -213,9 +210,6 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
 
   private void setupScreen(int w, int h)
     {
-    mScreenTexture = new DistortedTexture(w,h);
-    mRoot = new DistortedNode(mScreenTexture, mScreenEffects,mQuad);
-
     mCrawlBackgroundTexture = new DistortedTexture(w,(int)(Math.sqrt(3.0)*h));
        
     int randomA, randomX, randomY, randomTime;
@@ -246,7 +240,7 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
       
       mStarEffects[i].alpha(di);
       
-      mRoot.attach(mStarTexture, mStarEffects[i], mQuad);
+      mScreen.attach(mStarTexture, mStarEffects[i], mQuad);
       }
       
     float scale = (0.5f*w/mGFFATexture.getWidth());
@@ -260,7 +254,7 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
     mGFFAEffects.scale( new Static3D(scale,scale,scale) );
     mGFFAEffects.alpha(di);
       
-    mRoot.attach(mGFFATexture, mGFFAEffects, mQuad);
+    mScreen.attach(mGFFATexture, mGFFAEffects, mQuad);
     mGFFAEffects.registerForMessages(this);
     }
     
@@ -388,12 +382,12 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
       {
       if( objectID == gffaID )
         {
-        mRoot.detach(mGFFAEffects);
+        mScreen.detach(mGFFAEffects);
         mGFFAEffects.abortAllEffects();
         mGFFATexture.markForDeletion();
 
-        int screenW=mScreenTexture.getWidth();
-        int screenH=mScreenTexture.getHeight();
+        int screenW=mScreen.getWidth();
+        int screenH=mScreen.getHeight();
         
         int logoW = mLogoTexture.getWidth();
         int logoH = mLogoTexture.getHeight();
@@ -409,19 +403,19 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
         mLogoEffects.scale(di);
         mLogoEffects.move( new Static3D(-logoW/2,-logoH/2,0) );
       
-        mRoot.attach(mLogoTexture, mLogoEffects,mQuad);
+        mScreen.attach(mLogoTexture, mLogoEffects,mQuad);
         mLogoEffects.registerForMessages(this);
         }
       else if( objectID==logoID )
         {
-        mRoot.detach(mLogoEffects);
+        mScreen.detach(mLogoEffects);
         mLogoEffects.abortAllEffects();
         mLogoTexture.markForDeletion();
         
         int crawlW = mCrawlTexture.getWidth();
         int crawlH = mCrawlTexture.getHeight();
-        int screenW= mScreenTexture.getWidth();
-        int screenH= mScreenTexture.getHeight();
+        int screenW= mScreen.getWidth();
+        int screenH= mScreen.getHeight();
         int backH  = mCrawlBackgroundTexture.getHeight();
         float scale= (float)screenW/crawlW;
       
@@ -440,13 +434,13 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
         mCrawlEffects.scale( new Static3D(scale,scale,scale) );
         mCrawlEffects.move( new Static3D(-crawlW/2,0,0) );
         
-        mBackground = mRoot.attach(mCrawlBackgroundTexture, mCrawlBackgroundEffects,mQuad);
+        mBackground = mScreen.attach(mCrawlBackgroundTexture, mCrawlBackgroundEffects,mQuad);
         mBackground.attach(mCrawlTexture, mCrawlEffects,mQuad);
         mCrawlEffects.registerForMessages(this);
         }
       else if( objectID==crawlID )
         {
-        mRoot.detach(mBackground);
+        mScreen.detach(mBackground);
         mBackground.detach(mCrawlEffects);
         mCrawlEffects.abortAllEffects();
         mCrawlTexture.markForDeletion();
