فهرست منبع

Adding some comments to explain how things work.
Rename size.zoom to size.precision (more explicit).

Nicolas Obré 11 سال پیش
والد
کامیت
bbcfcf8dc2
2فایلهای تغییر یافته به همراه11 افزوده شده و 8 حذف شده
  1. 5 4
      Babylon/Tools/babylon.tools.js
  2. 6 4
      Babylon/Tools/babylon.tools.ts

+ 5 - 4
Babylon/Tools/babylon.tools.js

@@ -320,9 +320,9 @@
             var width;
             var height;
 
-            //If a zoom value is specified
-            if (size.zoom) {
-                width = Math.round(engine.getRenderWidth() * size.zoom);
+            //If a precision value is specified
+            if (size.precision) {
+                width = Math.round(engine.getRenderWidth() * size.precision);
                 height = Math.round(width / engine.getAspectRatio(camera));
                 size = { width: width, height: height };
             } else if (size.width && size.height) {
@@ -341,8 +341,10 @@
                 width = size;
             } else {
                 console.error("Invalid 'size' parameter !");
+                return;
             }
 
+            //At this point size can be a number, or an object (according to engine.prototype.createRenderTargetTexture method)
             var texture = new BABYLON.RenderTargetTexture("screenShot", size, engine.scenes[0]);
             texture.renderList = engine.scenes[0].meshes;
 
@@ -359,7 +361,6 @@
                         var currentCell = j + i * numberOfChannelsByLine;
                         var targetLine = height - i - 1;
                         var targetCell = j + targetLine * numberOfChannelsByLine;
-                        ;
 
                         var temp = data[currentCell];
                         data[currentCell] = data[targetCell];

+ 6 - 4
Babylon/Tools/babylon.tools.ts

@@ -341,9 +341,9 @@
             var width: number;
             var height: number;
 
-            //If a zoom value is specified
-            if (size.zoom) {
-                width = Math.round(engine.getRenderWidth() * size.zoom);
+            //If a precision value is specified
+            if (size.precision) {
+                width = Math.round(engine.getRenderWidth() * size.precision);
                 height = Math.round(width / engine.getAspectRatio(camera));
                 size = { width: width, height: height };
             }
@@ -370,8 +370,10 @@
             }
             else {
                 console.error("Invalid 'size' parameter !");
+                return;
             }
 
+            //At this point size can be a number, or an object (according to engine.prototype.createRenderTargetTexture method)
             var texture = new RenderTargetTexture("screenShot", size, engine.scenes[0]);
             texture.renderList = engine.scenes[0].meshes;
 
@@ -389,7 +391,7 @@
                     for (var j = 0; j < numberOfChannelsByLine; j++) {
                         var currentCell = j + i * numberOfChannelsByLine;
                         var targetLine = height - i - 1;
-                        var targetCell = j + targetLine * numberOfChannelsByLine;;
+                        var targetCell = j + targetLine * numberOfChannelsByLine;
 
                         var temp = data[currentCell];
                         data[currentCell] = data[targetCell];