|
@@ -370,12 +370,15 @@
|
|
|
public static CreateScreenshot(engine: Engine, camera: Camera, size: any): void {
|
|
|
var width: number;
|
|
|
var height: number;
|
|
|
- var scene = engine.scenes[0];
|
|
|
+
|
|
|
+ var scene = camera.getScene();
|
|
|
var previousCamera: BABYLON.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);
|
|
@@ -407,6 +410,7 @@
|
|
|
Tools.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;
|
|
@@ -472,9 +476,10 @@
|
|
|
}
|
|
|
|
|
|
};
|
|
|
-
|
|
|
+
|
|
|
texture.render();
|
|
|
texture.dispose();
|
|
|
+
|
|
|
if (previousCamera) {
|
|
|
scene.activeCamera = previousCamera;
|
|
|
}
|
|
@@ -510,7 +515,7 @@
|
|
|
var padStr = i => (i < 10) ? "0" + i : "" + i;
|
|
|
|
|
|
var date = new Date();
|
|
|
- return "BJS - [" + padStr(date.getHours()) + ":" + padStr(date.getMinutes()) + ":" + padStr(date.getSeconds()) + "]: " + message;
|
|
|
+ return "BJS - [" + padStr(date.getHours()) + ":" + padStr(date.getMinutes()) + ":" + padStr(date.getSeconds()) + "]: " + message;
|
|
|
}
|
|
|
|
|
|
public static Log: (message: string) => void = Tools._LogEnabled;
|
|
@@ -539,7 +544,7 @@
|
|
|
private static _ErrorEnabled(message: string): void {
|
|
|
console.error(Tools._FormatMessage(message));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public static set LogLevels(level: number) {
|
|
|
if ((level & Tools.MessageLogLevel) === Tools.MessageLogLevel) {
|
|
|
Tools.Log = Tools._LogEnabled;
|