Bläddra i källkod

use eye texture size instead of fill screen when rendering webvr eye post processes, whats new

Trevor Baron 7 år sedan
förälder
incheckning
7f58e0dec2
2 ändrade filer med 7 tillägg och 0 borttagningar
  1. 1 0
      dist/preview release/what's new.md
  2. 6 0
      src/PostProcess/babylon.postProcess.ts

+ 1 - 0
dist/preview release/what's new.md

@@ -80,6 +80,7 @@
 - Support depth maps for multiple active cameras for post processes like depth of field ([trevordev](https://github.com/trevordev))
 - Integrates depth texture support in the engine ([sebavan](https://github.com/sebavan))
 - NPM package now has a dependency system, updated during build. ([RaananW](https://github.com/RaananW))
+- Default pipeline will use webGL 2.0 anti aliasing by default if supported, webVR post processing will render to eye texture size ([trevordev](https://github.com/trevordev))
 
 ## Bug fixes
 

+ 6 - 0
src/PostProcess/babylon.postProcess.ts

@@ -349,6 +349,12 @@
             var requiredWidth = ((sourceTexture ? sourceTexture.width : this._engine.getRenderWidth(true)) * <number>this._options) | 0;
             var requiredHeight = ((sourceTexture ? sourceTexture.height : this._engine.getRenderHeight(true)) * <number>this._options) | 0;
 
+            // If rendering to a webvr camera's left or right eye only half the width should be used to avoid resize when rendered to screen
+            var webVRCamera = (<WebVRFreeCamera>camera.parent);
+            if(webVRCamera && (webVRCamera.leftCamera == camera || webVRCamera.rightCamera == camera)){
+                requiredWidth/=2;
+            }
+
             var desiredWidth = ((<PostProcessOptions>this._options).width || requiredWidth);
             var desiredHeight = (<PostProcessOptions>this._options).height || requiredHeight;