donderdag 18 september 2008

De eerste plaatjes

Zoals een fiere vader de foto's van zijn eerste baby toont, toon ik hier de eerste renders van mijn raytracer. De raytacer is nog redelijk primitief/crappy. Het enige wat op dit moment mogelijk is is het lezen van obj files en die renderen vanuit een willekeurig camerastandpunt.

De dingen die ik in korte tijd nog wil implementeren zijn diffuse shading, het lezen van XML bestanden voor scènes, een scenegraph en een versnellingsstructuur.

De snelheid van de implementatie laat nog wat te wensen over zelfs al is het C++ dus daar moet ik nog wat aan sleutelen. Ik heb een paar plaatjes gerendered (300 x 300 pixels) met de camera gepositioneerd in het punt (3, 3, 3), kijkend in de richting (-1, -1, -1) en een cameraopeningshoek (fovy) van 60 graden. Het scherm staat op afstand 1 van de camera.

Een kegel opgebouwd uit 32 driehoeken gerendered in 10 seconden.

Een cilinder (64 driehoeken, 19 seconden)

Een bol (480 driehoeken, 149 seconden)

Een torus (donut) (1024 driehoeken, 321 s)

De "Utah teapot" (4032 driehoeken, 534 seconden) gerendered vanuit het standpunt (6,2,4) kijkend in de richting (-1, 0, -1), de up vector is (0,1,0).


Het "Stanford bunny" (5110 driehoeken, 704 seconden) gerendered vanuit het punt (5,7,5) kijkend in de richting (-1,-1,-1), de up vector is (0,1,0).

Het is de bedoeling om deze set van plaatjes als benchmark te gebruiken bij de verdere verfijning van mijn implementatie.









figuur#driehoeken#seconde
kegel3210
cilinder6419
bol480149
torus1024321
teepot4032534
konijntje5110704

Geen opmerkingen: