commit 889a962e30360e3efca9c3e6b915c18d36f854a0
Author: Leszek Koltunski <leszek@distorted.org>
Date:   Mon Aug 22 12:15:30 2016 +0100

    Fixes for fragment effects in Effects3D.

diff --git a/src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java b/src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java
index ccf3c92..cf039a1 100644
--- a/src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java
+++ b/src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java
@@ -133,20 +133,20 @@ public class Effects3DEffect implements SeekBar.OnSeekBarChangeListener
                               break;
 
       case ALPHA            :
-      case SMOOTH_ALPHA     :
-      case BRIGHTNESS       :
-      case SMOOTH_BRIGHTNESS:
+      case SMOOTH_ALPHA     : mSta1.set(mInter[0]/100.0f);
+                              break;
       case SATURATION       :
       case SMOOTH_SATURATION:
       case CONTRAST         :
-      case SMOOTH_CONTRAST  : mSta1.set(mInter[0]/100.0f);
+      case SMOOTH_CONTRAST  :
+      case BRIGHTNESS       :
+      case SMOOTH_BRIGHTNESS: mSta1.set(mInter[0] > 50 ? 50.0f/(100.01f-mInter[0]) : mInter[0] / 50.0f);
                               break;
-
       case CHROMA           :
       case SMOOTH_CHROMA    : mSta1.set(mInter[0]/100.0f);
-                              mSta3.set(255.0f*mInter[1]/100,
-                                        255.0f*mInter[2]/100,
-                                        255.0f*mInter[3]/100);
+                              mSta3.set(mInter[1]/100.0f,
+                                        mInter[2]/100.0f,
+                                        mInter[3]/100.0f);
                               break;
       }
     }
