Very interesting, especially since this issue is most likely the reason of the 'crumbled paper' look on some of the parts I'm getting with my current angle only smoothing.
I'm going to try these improvements to see if it helps the minifig heads etc. Too bad I won't be able to use the below function of my vector template anymore though
comp is the xyz float (or double) array, so memcmp takes only a few clock cycles to compare all three in one go.
Up till now one or two extra (almost) identical points where not visible, so I never really tested my code against such requirements, only speed counted
It might also be interesting to lower the decimal count precision in these comparisons to 3 instead of 4.
I'm going to try these improvements to see if it helps the minifig heads etc. Too bad I won't be able to use the below function of my vector template anymore though
Code:
const bool operator==(const TGLVector3 &b) { return memcmp(comp, b.comp, sizeof(TGLVector3))==0; }
comp is the xyz float (or double) array, so memcmp takes only a few clock cycles to compare all three in one go.
Up till now one or two extra (almost) identical points where not visible, so I never really tested my code against such requirements, only speed counted
It might also be interesting to lower the decimal count precision in these comparisons to 3 instead of 4.