GenerateNormalsAssumingTriangleMode method
void
GenerateNormalsAssumingTriangleMode()
Implementation
void GenerateNormalsAssumingTriangleMode() {
List<VM.Vector3> normals =
List.generate(vertices.length, (i) => VM.Vector3.zero());
VM.Vector3 temp = VM.Vector3.zero();
VM.Vector3 norm = VM.Vector3.zero();
for (Face3 f3 in faces3) {
NormalFromPoints(
vertices[f3.a], vertices[f3.b], vertices[f3.c], temp, norm);
normals[f3.a] = norm.clone();
normals[f3.b] = norm.clone();
normals[f3.c] = norm.clone();
}
for (Face4 f4 in faces4) {
NormalFromPoints(
vertices[f4.a], vertices[f4.b], vertices[f4.c], temp, norm);
normals[f4.a] = norm.clone();
normals[f4.b] = norm.clone();
normals[f4.c] = norm.clone();
normals[f4.d] = norm.clone();
}
attributes[aNormal] = normals;
}