Monday, November 5, 2007

Problemen

Hoog tijd om hier nog eens een update aan te brengen.
Het thesissen lukt helaas minder vlot dan verhoopt, de laatste twee weken een stapeltje problemen gehad. Na de euforie van een degelijke presentatie ben ik begonnen aan 'het echte werk': het schrijven van een plugin voor PBRT (een academisch renderprogramma, voor de niet-graphicsmensen die ook dit blog volgen), die automatisch multiperspectief beelden genereert door middel van een nieuwe camera-implementatie.
Hiervoor moeten we natuurlijk eerst deftig weten hoe PBRT in mekaar zit. Dat is gelukkig goed beschreven in een boek, maar dat was uiteraard op dat moment uitgeleend in de campusbibliotheek. Ik heb het dan meteen gereserveerd, blijkbaar perfect gelijktijdig met een ander groepje thesissende studenten, zodat ik met hen maar ben overeen gekomen dat ik het boek enkele dagen zou houden, en het dan aan hen zou uitlenen.
Die paar dagen (die ook nog gevuld waren met andere werkjes) waren echter niet genoeg om een volledige systeemoverview te krijgen, dus heb ik het boek ook maar besteld. Gelukkig kon Toon ook nog een tussentijdse oplossing voorzien, zodat ik ondertussen verder kon.
Dan moest die PBRT natuurlijk ook nog geïnstalleerd geraken, wat ook niet zo straightforward bleek (de bij het boek bijgeleverde binary werkte niet naar behoren, dus was het compilen van de source geblazen, en daar horen wel wat dependencies bij. Maargoed, dat was dan uiteindelijk gefikst en de eerste renderings van de bijgeleverde voorbeeldscènes liepen heel vlotjes.
Ondertussen was de nieuwe versie van Mac OS X, Leopard uitgekomen. Apple-fan als ik ben heb ik dat meteen gekocht, maar de installatie op zich leverde al heel wat extra problemen op, waar ik hier niet dieper op zal ingaan. Wat wel belangrijk is: toen die waren opgelost (en na nog eens extra installatie van alweer een nieuwe versie van XCode) kon ik opnieuw aan de slag aan mijn PBRT-plugin. Tweede grote mijlpaal, na de eerste prentjes: de eerste lijntjes code. Altijd tof, programmeren, niets zo verfrissend als avonden voor de boeg gevuld met klassen, code en cola. Plugin geschreven, PBRT mét plugin hercompileren, ... problemen. Onleesbare errorboodschappen zelfs. En gezien ik op dat moment op de trein zat, en uw opties zonder internet sowieso eerder beperkt zijn, sloeg de frustratie meteen toe. Eenmaal thuisgekomen had ik dan het briljante plan opgevat PBRT eens opnieuw te downloaden, en de source eens clean te compilen. Wonderwel, het werkte!
Dan nog maar eens compilen mét mijn plugin: leesbare errors. Een hele vooruitgang op onleesbare errors, daar kan een mens tenminste wat mee. De fouten oplossen namelijk. En dat ging nog vrij gemakkelijk, in een mum van tijd had ik geen errors meer. Tot ik effectief probeerde een scène te renderen dan toch. PBRT geeft ondertussen segmentation faults. Voor de niet-technische mensen die dit blog volgen: dat wil zeggen dat er geschreven/gelezen wordt naar/van een stukje geheugen dat niet toegankelijk is (tenminste als ik mij niet vergis, de technische mensen die dit blog lezen mogen altijd corrigeren). En dat wil zeggen: oh-oh. Zeker voor iets dat voor die installatie van Leopard wél nog werkte. Ook daar heb ik weer lang op zitten zoeken en prullen, maar daar is tot op dit eigenste moment nog geen oplossing voor gevonden.
Wat nu? Zo dadelijk ga ik maar eens proberen op de pc's van het graphicslabo, kijken of het daar wel werkt. En als het werkt, kijken of ik dan gekke prentjes krijg. Zoja zal ik ze meteen posten hier. Verwezenlijkingen zijn altijd leuker om te posten (en zullen dus sneller gebeuren) dan tegenslagen...

En zo hebben we ook weer geleerd dat thesissen een proces is van vallen en opstaan.

B

No comments: