topical media & game development

talk show tell print

#graphic-flex-image-effects-07-source-aether-effects-shaders-WormholeEffect.ax

#graphic-flex-image-effects-07-source-aether-effects-shaders-WormholeEffect.ax [swf] [flash] flex


  package aether.effects.shaders {
          
          import flash.geom.Point;
          
          public class @ax-graphic-flex-image-effects-07-source-aether-effects-shaders-WormholeEffect extends ShaderEffect {
  
                  public static var shaderClass:String = "WormHoleKernel";
                  public static var shaderFile:String = "wormhole.pbj";
  
                  private var _twirlAngle:Number;
                  private var _gravity:Number;
                  private var _center:Point;
                  private var _radius:Number;
                  
                  public function @ax-graphic-flex-image-effects-07-source-aether-effects-shaders-WormholeEffect(
                          center:Point,
                          radius:Number=50,
                          twirlAngle:Number=0,
                          gravity:Number=0,
                          blendMode:String=null,
                          alpha:Number=1
                  ) {
                          _shaderClass = shaderClass;
                          _shaderFile = shaderFile;
                          this.twirlAngle = twirlAngle;
                          this.gravity = gravity;
                          this.radius = radius;
                          this.center = center;
                          init(blendMode, alpha);
                  }
                  
                  override protected function configureShader(data:Object):void {
                          data.center.value = [_center.x, _center.y];
                          data.radius.value =  [radius];
                          data.twirlAngle.value =  [twirlAngle];
                          data.gravity.value =  [gravity];
                  }
                  
                  public function set twirlAngle(angle:Number):void {
                          _twirlAngle = angle;
                  }
  
                  public function set gravity(gravity:Number):void {
                          _gravity = gravity;
                  }
  
                  public function set radius(radius:Number):void {
                          _radius = radius;
                  }
  
                  public function set center(center:Point):void {
                          _center = center;
                  }
  
          }
  
  }


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.