Browse Source

Merge pull request #701 from RaananW/screenshortBugFix

Fixing possible error with screenshot
David Catuhe 10 years ago
parent
commit
cdc9fce5dd
2 changed files with 14 additions and 14 deletions
  1. 6 6
      src/Tools/babylon.tools.js
  2. 8 8
      src/Tools/babylon.tools.ts

+ 6 - 6
src/Tools/babylon.tools.js

@@ -444,12 +444,6 @@ var BABYLON;
         Tools.CreateScreenshot = function (engine, camera, size, successCallback) {
             var width;
             var height;
-            var scene = camera.getScene();
-            var previousCamera = null;
-            if (scene.activeCamera !== camera) {
-                previousCamera = scene.activeCamera;
-                scene.activeCamera = camera;
-            }
             //If a precision value is specified
             if (size.precision) {
                 width = Math.round(engine.getRenderWidth() * size.precision);
@@ -478,6 +472,12 @@ var BABYLON;
                 Tools.Error("Invalid 'size' parameter !");
                 return;
             }
+            var scene = camera.getScene();
+            var previousCamera = null;
+            if (scene.activeCamera !== camera) {
+                previousCamera = scene.activeCamera;
+                scene.activeCamera = camera;
+            }
             //At this point size can be a number, or an object (according to engine.prototype.createRenderTargetTexture method)
             var texture = new BABYLON.RenderTargetTexture("screenShot", size, scene, false, false);
             texture.renderList = scene.meshes;

+ 8 - 8
src/Tools/babylon.tools.ts

@@ -532,14 +532,6 @@
             var width: number;
             var height: number;
 
-            var scene = camera.getScene();
-            var previousCamera: Camera = null;
-
-            if (scene.activeCamera !== camera) {
-                previousCamera = scene.activeCamera;
-                scene.activeCamera = camera;
-            }
-
             //If a precision value is specified
             if (size.precision) {
                 width = Math.round(engine.getRenderWidth() * size.precision);
@@ -571,6 +563,14 @@
                 Tools.Error("Invalid 'size' parameter !");
                 return;
             }
+			
+			var scene = camera.getScene();
+            var previousCamera: Camera = null;
+			
+			if (scene.activeCamera !== camera) {
+                previousCamera = scene.activeCamera;
+                scene.activeCamera = camera;
+            }
 
             //At this point size can be a number, or an object (according to engine.prototype.createRenderTargetTexture method)
             var texture = new RenderTargetTexture("screenShot", size, scene, false, false);