Archiv für Januar 2009

Projektstatistik 01/2009

Samstag, 31. Januar 2009

Etwas produktiver als im Dezember war ich dann ja doch. Das mag daran liegen, dass ich das Rendering-System vorher nicht sonderlich geplant habe, sondern einfach mal drauflos geproggt habe. Eines Nachts habe ich davon geträumt und brauchte den Code dann am näxten Tag nur noch runterzutippen. Das ist natürlich immer das Geilste. Zusammen mit dem fertiggestellten Shader-System sind dann ca. 2.000 Zeilen reiner Code hinzugekommen:

Zeilen gesamt Nur Code Nur Kommentare Code mit Kommentaren Leerzeilen Nicht-Leerzeilen
92.745 39.805 29.181 2.447 21.312 71.433
100 % 43 % 31 % 3 % 23 % 77 %

(Zur vorigen Tabelle geht es hier.)

Erster einfacher Test-Shader

Dienstag, 27. Januar 2009

Wie ich bereits vermerken ließ, hatte ich auch diesen Monat nicht die meiste Zeit, das Projekt voranzutreiben. Das Shader-System ist nahezu fertig. Es ist lediglich noch ein bisschen Funktionalität geplant, die den Komfort bei der Verwendung des Shader-Systems steigern soll. Nebenbei habe ich das Fundament für das Rendering-System gelegt. Jedoch bin ich mir da noch nicht ganz sicher, wie ich das genau aufbauen soll. Ist aber auch nicht ganz so schlimm, denn das Rendering-System dient eigentlich rein der Steigerung des Komforts. Insbesondere verschiedene Render-Targets sollen darüber verwaltet und zur Verfügung gestellt werden. Für einfache Techniken (z.B. die simple Beleuchtung mit einem Phong-Shader) wird so eine Funktionalität gar nicht benötigt.

Das Shader-System habe ich bereits getestet. Im folgenden Video kommt hierfür ein Vertex-Shader zum Einsatz, der keine tollen Berechnungen vollzieht, sondern einfach nur die nötigen Matrixtransformationen durchführt und die korrekte Texel-Farbe der Textur extrahiert. Der verwendete Pixel-Shader ist noch primitiver; er gibt die (interpolierte) Farbe unverändert zurück. Das Resultat ist natürlich nicht besonders hübsch, aber zum Testen reicht es allemal.

Get the Flash Player to see the wordTube Media Player.

Ups, da habe ich aber lange gebraucht, um zu merken, dass sich der Mauszeiger mitten im Bild befindet. Einer rafft es nie! Witzig ist auch — was mir gerade erst auffällt —, dass das 3D-Modell spiegelverkehrt dargestellt wird (man beachte die Sieben auf Cybers Brust). Da findet anscheinend an irgendeiner Stelle ein ungeplanter Koordinatensystemwechsel statt. Das krich ich aber schon noch raus.