Преглед изворни кода

Fix render target screenshot when multiple cameras active

Popov72 пре 4 година
родитељ
комит
f2b1723050
1 измењених фајлова са 5 додато и 1 уклоњено
  1. 5 1
      src/Misc/screenshotTools.ts

+ 5 - 1
src/Misc/screenshotTools.ts

@@ -130,11 +130,15 @@ export class ScreenshotTools {
         var previousCamera: Nullable<Camera> = null;
         var previousCameras = scene.activeCameras;
 
-        if (scene.activeCamera !== camera || scene.activeCameras && scene.activeCameras.length) {
+        scene.activeCameras = null;
+
+        if (scene.activeCamera !== camera) {
             previousCamera = scene.activeCamera;
             scene.activeCamera = camera;
         }
 
+        scene.render();
+
         // At this point size can be a number, or an object (according to engine.prototype.createRenderTargetTexture method)
         var texture = new RenderTargetTexture("screenShot", targetTextureSize, scene, false, false, Constants.TEXTURETYPE_UNSIGNED_INT, false, Texture.NEAREST_SAMPLINGMODE, undefined, enableStencilBuffer, undefined, undefined, undefined, samples);
         texture.renderList = null;