|
|
@@ -166,7 +166,7 @@ class WebGLBackend extends Backend {
|
|
|
|
|
|
}
|
|
|
|
|
|
- async resolveTimestampAsync( renderContext, type = 'render' ) {
|
|
|
+ async resolveTimestampAsync( renderContext, type = 'render' ) {
|
|
|
|
|
|
if ( ! this.disjoint || ! this.trackTimestamp ) return;
|
|
|
|
|
|
@@ -664,9 +664,11 @@ class WebGLBackend extends Backend {
|
|
|
|
|
|
//
|
|
|
|
|
|
- let vaoGPU = renderObject.staticVao;
|
|
|
+ const renderObjectData = this.get( renderObject );
|
|
|
|
|
|
- if ( vaoGPU === undefined ) {
|
|
|
+ let vaoGPU = renderObjectData.staticVao;
|
|
|
+
|
|
|
+ if ( vaoGPU === undefined || renderObjectData.geometryId !== renderObject.geometry.id ) {
|
|
|
|
|
|
const vaoKey = this._getVaoKey( renderObject.getIndex(), renderObject.getAttributes() );
|
|
|
|
|
|
@@ -678,7 +680,12 @@ class WebGLBackend extends Backend {
|
|
|
|
|
|
( { vaoGPU, staticVao } = this._createVao( renderObject.getIndex(), renderObject.getAttributes() ) );
|
|
|
|
|
|
- if ( staticVao ) renderObject.staticVao = vaoGPU;
|
|
|
+ if ( staticVao ) {
|
|
|
+
|
|
|
+ renderObjectData.staticVao = vaoGPU;
|
|
|
+ renderObjectData.geometryId = renderObject.geometry.id;
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|