Na veel vloeken is het gelukt om ra2 bestanden correct te renderen. Ik heb heel lang zitten zoeken in mijn camera code, Ares was zelfs zo vriendelijk om voorbeeldcode te mailen. Helaas zat daar het probleem helemaal niet :(.
Het probleem zat in mijn straal-driehoek intersectie, ik veronderstelde namenlijk dat de straal parameter t altijd groter was dan 0. Dit was echter niet altijd het geval zodat de dichtsbijzijnde driehoek vaak achter de camera lag. Hierdoor kreeg ik egaal gekleurde plaatjes omdat ik de muur achter de camera renderde.
Het probleem met de geheugenallocatie is ook getraced. Sommige scenes geven een slecht gebalanceerde boom (1 heel diepe tak) bij median split (ik weet nog niet waarom). Omdat het bouwen van zo'n boom recursief is moet er bij een heel diepe tak een diepe stack worden bijgehouden. Op een bepaald moment zegt mijn kernel dan nu is het genoeg en wil geen geheugen meer alloceren voor mijn stack. Ik kan de stack size vergroten (dirty hack) of eens in mijn code duiken (eleganter). We zullen voor de elegante weg kiezen :)
Nog wat problemen op te lossen maar hier toch al een voorsmaakje:
De classroom scene (9400 driehoeken 300 x 300 pixels) gerendered in 31 seconden:
De office scene (34.000 driehoeken 300 x 300 pixels) gerendered in 115 seconden:
De Soda hall (141.640 driehoeken 300 x 300 pixels) gerendered in 1736 seconden:
Deze scenes komen uit de MGF example scenes.
Abonneren op:
Reacties posten (Atom)
Geen opmerkingen:
Een reactie posten