Na een halve dag intensief zoeken heb ik de bug gevonden op een plaats waar ik het totaal niet verwachtte (zoals met alle bugs het geval is) in de code voor het bouwen van een bounding box van een driehoek:
min
min
Het gevolg hiervan was dat een (klein) aantal bounding boxes fout werd berekend en daarom werden sommige driehoeken niet getest wat leidde tot gaten in de meshes. Gelukkig is dit probleem nu van de baan zoals volgende renders aantonen.
Een schokkerige versie van Achmed the dead terrorist :)
En de classroom scene met een perfecte muur achteraan
Verder waren niet al mijn berekende statistieken even nuttig, zoals bijvoorbeeld het aantal driehoek / straal intersecties per straal. Beter is om het aantal driehoek/straal intersecties te verdelen over stralen die iets geraakt hebben.
BVH STATS WITH FTB TRAVERSAL AND CULLING | |||||||||||
scene | #triangles | #tris/hit | #box/hit | build (s) | render (s) | ||||||
ulm box | 492 | 2.54 | 32.16 | 0 | 2 | ||||||
classroom | 9K | 3.9 | 118 | 0 | 9 | ||||||
office | 34K | 5.39 | 71.5 | 0 | 6 |
| |||||
cabin | 219K | 7.75 | 155 | 0 | 12 | ||||||
armadillo | 345K | 3.27 | 87.5 | 2 | 2 | ||||||
atrium2 | 559K | 8.54 | 142.9 | 2 | 12 | ||||||
conference | 987K | 4.17 | 145.8 | 6 | 11 | ||||||
cruiser | 3.64M | 12.6 | 137.5 | 23 | 10 | ||||||
dragon | 7.22M | 3.65 | 114 | 38 | 1 |
De bugfix heeft het aantal straal/driehoek intersecties iets verminderd, het belangrijkste is dat ik nu zeker weet dat alles correct werkt, nu kan ik mij focussen op rauwe performantie.