Explorar el Código

Stereoscopic cameras will use viewports instead of the post process.

Closing #8000
Raanan Weber hace 5 años
padre
commit
21eb5076a8

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

@@ -133,6 +133,8 @@
 - Fix bugs in NME that were causing inconsistent behavior displaying Move Node Up and Down buttons on frame ports ([belfortk](https://github.com/belfortk))
 - Fix bug in `ShaderMaterial` when using morph targets ([Popov72](https://github.com/Popov72)
 - Fix bug in playground where child NME windows would not close before page unload events ([belfortk](https://github.com/belfortk)
+- Fixed an issue with stereoscopic rendering ([#8000](https://github.com/BabylonJS/Babylon.js/issues/8000)) ([RaananW](https://github.com/RaananW))
+
 
 ## Breaking changes
 

+ 4 - 5
src/Cameras/RigModes/stereoscopicRigMode.ts

@@ -1,10 +1,9 @@
 import { Camera } from "../camera";
-import { PassPostProcess } from "../../PostProcesses/passPostProcess";
-import { StereoscopicInterlacePostProcessI } from "../../PostProcesses/stereoscopicInterlacePostProcess";
+import { Viewport } from '../../Maths/math.viewport';
 
 Camera._setStereoscopicRigMode = function(camera: Camera) {
     var isStereoscopicHoriz = camera.cameraRigMode === Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL || camera.cameraRigMode === Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED;
-    var isStereoscopicInterlaced = camera.cameraRigMode === Camera.RIG_MODE_STEREOSCOPIC_INTERLACED;
-    camera._rigCameras[0]._rigPostProcess = new PassPostProcess(camera.name + "_passthru", 1.0, camera._rigCameras[0]);
-    camera._rigCameras[1]._rigPostProcess = new StereoscopicInterlacePostProcessI(camera.name + "_stereoInterlace", camera._rigCameras, isStereoscopicHoriz, isStereoscopicInterlaced);
+    camera._rigCameras[0].viewport = new Viewport(0, 0, isStereoscopicHoriz ? 0.5: 1.0, isStereoscopicHoriz ? 1.0: 0.5);
+    camera._rigCameras[1].viewport = new Viewport(isStereoscopicHoriz ? 0.5 : 0, isStereoscopicHoriz ? 0 : 0.5, isStereoscopicHoriz ? 0.5: 1.0, isStereoscopicHoriz ? 1.0: 0.5);
+
 };