Filters with Stage3D Proxy

Software: Away3D 4.x

Beek, Member
Posted: 25 August 2014 09:58 AM   Total Posts: 67

I’m attempting to get Jonathan Harts excellent Oculus ANE working with a Google Cardboard setup, and running into some problems I’d like to see if anyone wants to help me with!?;-)

I’m attempting to modify the code here
https://github.com/jonathanhart/oculus-ane/blob/master/engineIntegrations/away3d/src/oculusANE/away3d/OculusView.as

Here is what’s happening below.

I’m currently stuck on the barrel filter. Applying the filter to the left view is fine, however applying the filter to the right eye covers the entire view (covering over the leftEye) with the background of the stage3Dview proxy.

Anyone seen this happen before?

// Define a new Stage3DManager for the Stage3D objects
   
stage3DManager Stage3DManager.getInstance(stage);

   
// Create a new Stage3D proxy to contain the separate views
   
stage3DProxy stage3DManager.getFreeStage3DProxy();
   
stage3DProxy.addEventListener(Stage3DEvent.CONTEXT3D_CREATEDonContextCreated);
   
stage3DProxy.addEventListener(Event.ENTER_FRAMEonEnterFrame);
   
stage3DProxy.antiAlias 0;
   
stage3DProxy.color 0x000000
  
leftEye = new View3D();
   
leftEye.width stage.stageWidth/2;
   
leftEye.height stage.stageHeight;
   
leftEye.backgroundColor 0xFF6600;
   
   
leftEye.stage3DProxy stage3DProxy;
   
leftEye.shareContext true;
   
   
addChildleftEye );
   
   
rightEye = new View3D();
   
rightEye.width stage.stageWidth*0.5;
   
rightEye.height stage.stageHeight;
   
rightEye.stage.stageWidth*0.5;
   
rightEye.backgroundColor 0xFF0000;

   
rightEye.stage3DProxy stage3DProxy;
   
rightEye.shareContext true;

   
addChildrightEye );
   
   
leftEye.render();
   
rightEye.render();
   
   
// Setup camera
   
camera.lens.far cameraViewDistance;
   
camera.lens.near 100;
   
camera.0;
   
   
rightEye.camera = new Camera3D();
   
rightEye.camera.lens = new VRLens(zoom,0.75,0.5);
   
//rightEye.camera.lens = new PerspectiveLens(zoom);
   
rightEye.camera.lens.far cameraViewDistance;
   
rightEye.camera.lens.near 100;
   
rightEye.0;
   
cameraControllerR = new HoverController(rightEye.cameranullpan00.1);
   
   
leftEye.camera = new Camera3D();
   
leftEye.camera.lens = new VRLens(zoom,0.25,0.5);
   
//leftEye.camera.lens = new PerspectiveLens(zoom);
   
leftEye.camera.lens.far cameraViewDistance;
   
leftEye.camera.lens.near 100;
   
leftEye.0;
   
cameraControllerL = new HoverController(leftEye.cameranullpan00.1);
   
   
rightEye.scene scene;
   
leftEye.scene scene;
   
//camera.stereoOffset = 5;
   
   
   
hmdInfo = new HmdInfo();
   
hmdInfo.hScreenSize stage.stageWidth;
   
hmdInfo.vScreenSize stage.stageHeight;
   
hmdInfo.vScreenCenter 0.046799998730421066
   
hmdInfo.eyeToScreenDistance 0.04100000113248825;
   
hmdInfo.lensSeparationDistance 0.06350000202655792;
   
hmdInfo.interPupillaryDistance 0.06400000303983688;
   
hmdInfo.hResolution 1280;
   
hmdInfo.vResolution 800;
   
hmdInfo.distortionK = new Vector.<Number>;
   
hmdInfo.distortionK.push(1);
   
hmdInfo.distortionK.push(0.2199999988079071);
   
hmdInfo.distortionK.push(0.23999999463558197);
   
hmdInfo.distortionK.push(0);
   
   
hmdInfo.chromaAbCorrection = new Vector.<Number>;
   
hmdInfo.chromaAbCorrection.push(0.9959999918937683);
   
hmdInfo.chromaAbCorrection.push(-0.004000000189989805);
   
hmdInfo.chromaAbCorrection.push(1.0140000581741333);
   
hmdInfo.chromaAbCorrection.push(0);
   
   var 
dk:Vector.<Number> = hmdInfo.distortionK;
   
   
barrelDistortionFilterLeft =  new BarrelDistortionFilter3D(0.30.530.5dk[0]dk[1]dk[2]dk[3]);
   
leftEye.filters3d [barrelDistortionFilterLeft];
   
   
barrelDistortionFilterRight = new BarrelDistortionFilter3D(0.70.530.75dk[0]dk[1]dk[2]dk[3]);
   
rightEye.filters3d [barrelDistortionFilterRight]
   
   

X

Away3D Forum

Member Login

Username

Password

Remember_me



X