update method
dynamic
update(
- dynamic attribute,
- dynamic bufferType, {
- String? name,
})
Implementation
update(attribute, bufferType, {String? name}) {
// print(" WebGLAttributes.update attribute: ${attribute.type} ${attribute.runtimeType} name: ${name} ");
if (attribute.type == "GLBufferAttribute") {
var cached = buffers.get(attribute);
if (cached == null || cached["version"] < attribute.version) {
buffers.add(
key: attribute,
value: createBuffer(attribute, bufferType, name: name));
}
return;
}
if (attribute.type == "InterleavedBufferAttribute") {
attribute = attribute.data;
}
final data = buffers.get(attribute);
if (data == null) {
buffers.add(
key: attribute,
value: createBuffer(attribute, bufferType, name: name));
} else if (data["version"] < attribute.version) {
updateBuffer(data["buffer"], attribute, bufferType);
data["version"] = attribute.version;
}
}