|
@@ -4,6 +4,8 @@
|
|
|
|
|
|
function WebGLObjects( gl, geometries, infoRender ) {
|
|
|
|
|
|
+ var updateList = {};
|
|
|
+
|
|
|
function update( object ) {
|
|
|
|
|
|
var frame = infoRender.frame;
|
|
@@ -13,7 +15,7 @@ function WebGLObjects( gl, geometries, infoRender ) {
|
|
|
|
|
|
// Update once per frame
|
|
|
|
|
|
- if ( buffergeometry.__frame !== frame ) {
|
|
|
+ if ( updateList[ buffergeometry.id ] !== frame ) {
|
|
|
|
|
|
if ( geometry.isGeometry ) {
|
|
|
|
|
@@ -23,7 +25,7 @@ function WebGLObjects( gl, geometries, infoRender ) {
|
|
|
|
|
|
geometries.update( buffergeometry );
|
|
|
|
|
|
- buffergeometry.__frame = frame;
|
|
|
+ updateList[ buffergeometry.id ] = frame;
|
|
|
|
|
|
}
|
|
|
|
|
@@ -31,9 +33,16 @@ function WebGLObjects( gl, geometries, infoRender ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ function clear() {
|
|
|
+
|
|
|
+ updateList = {};
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
return {
|
|
|
|
|
|
- update: update
|
|
|
+ update: update,
|
|
|
+ clear: clear
|
|
|
|
|
|
};
|
|
|
|