瀏覽代碼

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];