update method
void
update()
Implementation
void update() {
object.updateMatrixWorld(true);
_normalMatrix.getNormalMatrix(object.matrixWorld);
final matrixWorld = object.matrixWorld;
final position = geometry?.attributes["position"];
BufferGeometry? objGeometry = object.geometry;
if (objGeometry != null) {
final objPos = objGeometry.attributes["position"];
final objNorm = objGeometry.attributes["normal"];
int idx = 0;
// for simplicity, ignore index and drawcalls, and render every normal
for (int j = 0, jl = objPos.count; j < jl; j++) {
_v1.fromBuffer(objPos, j).applyMatrix4(matrixWorld);
_v2.fromBuffer(objNorm, j);
_v2.applyMatrix3(_normalMatrix)
.normalize()
.scale(size)
.add(_v1);
position.setXYZ(idx, _v1.x, _v1.y, _v1.z);
idx = idx + 1;
position.setXYZ(idx, _v2.x, _v2.y, _v2.z);
idx = idx + 1;
}
}
position.needsUpdate = true;
}