Skip to content

Commit e030fda

Browse files
authored
Merge pull request #2508 from ameuleman/master
Enables to display all render target texture properly in inspector
2 parents 65a6f50 + bf96239 commit e030fda

File tree

2 files changed

+45
-54
lines changed

2 files changed

+45
-54
lines changed

inspector/src/tabs/TextureTab.ts

Lines changed: 44 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -95,58 +95,51 @@ module INSPECTOR {
9595
}
9696
else if (texture instanceof BABYLON.RenderTargetTexture) {
9797
// RenderTarget textures
98-
if(texture.activeCamera){
99-
BABYLON.Tools.CreateScreenshotUsingRenderTarget(this._inspector.scene.getEngine(), texture.activeCamera, { precision: 1 }, (data) => img.src = data);
100-
}
101-
else{
102-
let scene = this._inspector.scene;
103-
let engine = scene.getEngine();
104-
let size = texture.getSize();
98+
let scene = this._inspector.scene;
99+
let engine = scene.getEngine();
100+
let size = texture.getSize();
105101

106-
// Clone the texture
107-
let screenShotTexture = texture.clone();
108-
screenShotTexture.activeCamera = texture.activeCamera;
109-
screenShotTexture.onBeforeRender = texture.onBeforeRender;
110-
screenShotTexture.onAfterRender = texture.onAfterRender;
111-
screenShotTexture.onBeforeRenderObservable = texture.onBeforeRenderObservable;
112-
screenShotTexture.onAfterUnbindObservable = texture.onAfterUnbindObservable;
113-
114-
// To display the texture after rendering
115-
screenShotTexture.onAfterRenderObservable.add((faceIndex: number) => {
116-
let targetImg: HTMLImageElement;
117-
switch(faceIndex){
118-
case 0:
119-
targetImg = img;
120-
break;
121-
case 1:
122-
targetImg = img1;
123-
break;
124-
case 2:
125-
targetImg = img2;
126-
break;
127-
case 3:
128-
targetImg = img3;
129-
break;
130-
case 4:
131-
targetImg = img4;
132-
break;
133-
case 5:
134-
targetImg = img5;
135-
break;
136-
default:
137-
targetImg = img;
138-
break;
139-
140-
}
141-
BABYLON.Tools.DumpFramebuffer(size.width, size.height, engine, (data) => targetImg.src = data, "image/png");
142-
});
143-
144-
// Render the texture
145-
scene.incrementRenderId();
146-
scene.resetCachedMaterial();
147-
screenShotTexture.render(true);
148-
screenShotTexture.dispose();
149-
}
102+
// Clone the texture
103+
let screenShotTexture = texture.clone();
104+
screenShotTexture.activeCamera = texture.activeCamera;
105+
screenShotTexture.onBeforeRender = texture.onBeforeRender;
106+
screenShotTexture.onAfterRender = texture.onAfterRender;
107+
screenShotTexture.onBeforeRenderObservable = texture.onBeforeRenderObservable;
108+
109+
// To display the texture after rendering
110+
screenShotTexture.onAfterRenderObservable.add((faceIndex: number) => {
111+
let targetImg: HTMLImageElement;
112+
switch(faceIndex){
113+
case 0:
114+
targetImg = img;
115+
break;
116+
case 1:
117+
targetImg = img1;
118+
break;
119+
case 2:
120+
targetImg = img2;
121+
break;
122+
case 3:
123+
targetImg = img3;
124+
break;
125+
case 4:
126+
targetImg = img4;
127+
break;
128+
case 5:
129+
targetImg = img5;
130+
break;
131+
default:
132+
targetImg = img;
133+
break;
134+
}
135+
BABYLON.Tools.DumpFramebuffer(size.width, size.height, engine, (data) => targetImg.src = data, "image/png");
136+
});
137+
138+
// Render the texture
139+
scene.incrementRenderId();
140+
scene.resetCachedMaterial();
141+
screenShotTexture.render();
142+
screenShotTexture.dispose();
150143
} else if (texture.url) {
151144
// If an url is present, the texture is an image
152145
img.src = texture.url;

inspector/test/index.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -260,9 +260,7 @@ var Test = (function () {
260260

261261
// to test reflection prob texture handling
262262
var probe = new BABYLON.ReflectionProbe("probe", 512, scene);
263-
for(let mesh of scene.meshes){
264-
probe.renderList.push(mesh);
265-
}
263+
probe.renderList.push(sphere1);
266264

267265
// gui
268266
var advancedTexture = BABYLON.GUI.AdvancedDynamicTexture.CreateFullscreenUI("UI");

0 commit comments

Comments
 (0)