ch habe den ganzen Tag schon wieder an dieser bekackten Computer Graphics Hausaufgabe gesessen! GRR GRR Die “Hausaufgabe” ist ein Raytracer mti Photon Mapping UND eine Szeneneditor. Zwei Wochen allein sass ich an dem ollen Editor und nochmal zweieinhalb Wochen sicherlich an dem Raytracer.

Was ist ein Raytracer? okay, fuer Doofe: Ein Raytracer ist ein Programm das man nicht in Java programmieren sollte. Hab ich aber gemacht. Aus Frust und Protest. Java ist die Sprache fuer Ferien, C/C++ ist die Sprache fuer Chinesische Arbeitssemester. Mit sowas wie nem Raytracer kann man so wunderbare Filme machen wie Shrek, Madagaskar, Finding Nemo, etc. Mit meinem aber nicht. Meiner kann nicht Shrek. Meiner kann nur Kugeln, Zylinder, Kisten, Kegel und Flaechen. Sowas wie hier:

Fuer das Photon Mapping habe ich extra einen leckeren KD-Tree programmiert. Ein echter KD-Tree mit unbeschraenkter Anzahl von Dimensionen! Alles schoen getestet und fein Generics verwendet, damit man es auch fuer beliebiege andere Datentypen verwenden kann, ohne casten zu muessen. Natuerlich alles Wasserdicht abgesichert mit JUnit tests. Dann noch eine Priese Adapter Pattern fuer die eigentlichen Elemente und rein in den Raytracer. Man soll ja ein Pferd beim ersten laufen schon gleich ordentlich Sporen geben, daher setzt ich ordentliche 10.000 Photonen fest und drueckte auf “on”. RUUUUMMS! Da flog die Dampfmaschine entzwei… Und das ist sie bis heute noch. Den KD-Tree hab ich wieder rausgeschmissen nach 5 Stunden vergeblichen Fehlersuchens. Ein Array tuts ja auch.

Ihr koennt Euch nicht vorstellen wie frustrierend das ist, wenn man man programmieren soll und man nur auf die Sachen angewiesen ist die im Internet zu haben sind. Das hier ist das beste was ich ueber Photon Mapping finden konnte:

Photon Mapping – Zack Waters

Zack Waters. Was fuer ein abgefahrener Name. Das ist sicher sein Kuenstlername. Oder er ist Space Cowboy.

Morgen schick ich den ganzen Klararadatsch ab. Dann sind endliche Ferien (eine Woche vor dem Ende der Ferien)

Categories: China

Leave a Reply

Your email address will not be published. Required fields are marked *