Skip to content

Commit a402b00

Browse files
committed
Ensure multiple views work
Without this, rendering the same scene in different views (renderers) would sometimes miss things like shadow maps being enabled, etc. Added a change check to ensure we don't keep setting `needsUpdate` on the shadow map unless we actually have changes.
1 parent cddc3bf commit a402b00

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

js/src/_base/Renderable.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,10 @@ var RenderableView = widgets.DOMWidgetView.extend({
211211
return;
212212
}
213213
if (!converterName) {
214-
obj[propName] = this.model.get(propName);
215-
changes = true;
214+
if (obj[propName] !== this.model.get(propName)) {
215+
obj[propName] = this.model.get(propName);
216+
changes = true;
217+
}
216218
return;
217219
}
218220
var converterFn;
@@ -226,8 +228,11 @@ var RenderableView = widgets.DOMWidgetView.extend({
226228
if (!converterFn) {
227229
throw new Error('invalid converter name: ' + converterName);
228230
}
229-
obj[propName] = converterFn(model.get(propName), propName);
230-
changes = true;
231+
var converted = converterFn(model.get(propName), propName);
232+
if (obj[propName] !== converted) {
233+
obj[propName] = converted;
234+
changes = true;
235+
}
231236
}, this);
232237
if (changes) {
233238
obj.needsUpdate = true;

js/src/core/Renderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ var RendererView = RenderableView.extend({
165165

166166
// We need to ensure that renderer properties are applied
167167
// (we have no idea where the renderer has been...)
168-
this.applyBackground();
168+
this.updateProperties(true);
169169
},
170170

171171
});

0 commit comments

Comments
 (0)