Wednesday, November 12, 2008

Grote update

Door tijdsdruk lijkt het soms nuttiger om eerst veel te verwezelijken en dan pas te bloggen. Dat is uiteraard niet de juiste manier, aangezien iets dat niet op de blog staat ook nooit gebeurd lijkt... Daarom hier een update van het geleverde werk tot aan de presentaties op 5-11-2008.

Eind september - begin oktober:
  • Nadenken over thesisopdracht. 'Didactische software' concretiseren:
    Ik heb mijn thesisopdracht als volgt geïnterpreteerd. Ik ga een applicatie ontwikkelen die de raytrace-algoritmes van het vak CG1 kan visualiseren. Een deel van de applicatie gaat het algoritme voorstellen en een ander deel de visualisatie ervan (zie illustratie).
  • Implementatiemogelijkheden onderzoeken:
    C++ was snel geschrapt, onwille van verschillende redenen. Het programma zou moeten draaien op meerdere platformen. Ik heb geen ervaring met C++ en aangezien ik die deze vakantie niet kon opdoen, weegt de leerkost niet op tegen eventuele voordelen van C++.
    Java maakt het mogelijk om applicaties via Java Web Start te delen en up-to-date te houden. Voor deze applicatie is ook geen superefficiëntie vereist en is het beter om keurig OO te programmeren om verder onderhoud of uitbereidingen makkelijker te maken.
    JOGL is een java binding voor OpenGL die op laag niveau een directe binding tussen Java en OpenGL mogelijk maakt. Ik heb geprobeerd hiermee te experimenteren en ettelijke voorbeelden uit het OpenGL Redbook in JOGL werkend te krijgen. Dit heeft echter in ettelijke uren in beslag genomen door een probleem met native libraries op mijn mac. Uiteindelijk is JOGL afgevoerd, voor dit project is er geen nood aan een directe toegang tot de rendering pipeline of mogelijkheid tot OpenGL opmisisaties.
    Java3D
    is een abstracte scene-graph representatie bovenop de low-level JOGL bibliotheek. Java3D is op vele platformen beschikbaar, en laat toe op een abstracte manier te programmeren en de optimisaties aan Java3D over te laten. (Deze optimisaties zijn trouwens geregeld ook platformgebonden, een extra rede om geen directe binding te gebruiken.) Voor Java3D heb ik dan de tutorial, een boek en enkele nuttige sites doorlopen.
Midden oktober:
  • Een raytrace-scene bouwen in Java3D. Dit met de nodige snufjes(materialen, shading, raytracing, Billboards, navigatie) om Java3D te leren kennen. Een heel nuttige oefening zo bleek.
    De klassen die ik hier gemaakt hebben zouden ook in de uiteindelijke applicatie bruikbaar moeten zijn.
Eind oktober:
Ziek en deadlines andere projecten.

Begin november:
  • Voorbereiden presentatie
  • Presentatie (5-11-2008)
Een volgende update mag deze week verwacht worden.

No comments: