Просмотр исходного кода

error msg when multiview is not supported

Trevor Baron 6 лет назад
Родитель
Сommit
12313e9e11
1 измененных файлов с 7 добавлено и 1 удалено
  1. 7 1
      src/Cameras/RigModes/vrRigMode.ts

+ 7 - 1
src/Cameras/RigModes/vrRigMode.ts

@@ -2,6 +2,7 @@ import { Camera } from "../camera";
 import { Matrix, Viewport } from "../../Maths/math";
 import { VRDistortionCorrectionPostProcess, VRMultiviewToSingleview } from "../../PostProcesses/vrDistortionCorrectionPostProcess";
 import { VRCameraMetrics } from "../VR/vrCameraMetrics";
+import { Logger } from '../../Misc/logger';
 
 Camera._setVRRigMode = function(camera: Camera, rigParams: any) {
     var metrics = rigParams.vrCameraMetrics || VRCameraMetrics.GetDefault();
@@ -24,7 +25,12 @@ Camera._setVRRigMode = function(camera: Camera, rigParams: any) {
     // First multiview will be rendered to camera._multiviewTexture
     // Then this postprocess will run on each eye to copy the right texture to each eye
     if (metrics.multiviewEnabled) {
-        camera._rigPostProcess = new VRMultiviewToSingleview("VRMultiviewToSingleview", camera, 1.0);
+        if (!camera.getScene().getEngine().getCaps().multiview) {
+            Logger.Warn("Multiview is not supported, falling back to standard rendering");
+            metrics.multiviewEnabled = false;
+        }else {
+            camera._rigPostProcess = new VRMultiviewToSingleview("VRMultiviewToSingleview", camera, 1.0);
+        }
     }
 
     if (metrics.compensateDistortion) {