To all the folks still working on it,
be aware that numerical problem could arise when computing the dot product between two normals.
Vec3 a = _somenormal.normalized(); //forcing a to be a unit vector
Vec3 b = _anothernormal.normalized(); //forcing b to be a unit vector
Scalar dot = a.dot(b);
dot could be actually greater than 1, due to numerical errors. Something like 1.00000012.
This could/will affect your normal orientation in Part3 and definitely Part4.
To all the folks still working on it, be aware that numerical problem could arise when computing the dot product between two normals.
Vec3 a = _somenormal.normalized(); //forcing a to be a unit vector Vec3 b = _anothernormal.normalized(); //forcing b to be a unit vector Scalar dot = a.dot(b);
dot could be actually greater than 1, due to numerical errors. Something like 1.00000012. This could/will affect your normal orientation in Part3 and definitely Part4.