
Sol's dirty DX7 tutorial
Willkommen
Dieses Tutorial ist für die Leute gedacht, die schon mit (nicht beschleunigtem) 3D herum gespielt haben
und nun einen schnellen und schmutzigen Weg suchen, diese magischen 3D Beschleuniger zu nutzen.
Es wäre besser wenn schon eine Engine vorhanden ist, die ihr erweitern könnt, aber unbedingt notwendig
ist es nicht.
Obwohl im Titel 'dx7 Tutorial' steht ist es mehr ein d3dx Kurs.. der Titel lautet auch 'dirty'. Das
ganze hier ist NICHT der eigentlich korrekte Weg DX zu nutzen, da ihr nicht von (vielen) dx Treiber
Optimierungen, Transformation and Lightning oder anderen netten Dingen Gebrauch macht, die alle 6
Monate erscheinen.
Obwohl es der "falsche" Weg ist funktioniert es dennoch und ihr bekommt einige Einblicke wie Dinge
in der DX Welt funktionieren. Ich habe nie Glide ausprobiert und nur an der Oberfläche von OpenGL gekratzt
(mit dem Ergebnis das ich einen Würfel in einem Fenster renderte, der an der gleichen Stelle blieb wenn man
das Fenster bewegte..). Die Leute sagen das DX von den dreien am schwersten zu lernen ist, aber ich glaube
das das wirklich schwere die Windows Architektur und die COM Struktur ist, aber nicht DX an sich.
Nein, ich bekomme kein Geld wenn ich das sage (wenn das der Fall wäre hätte ich genug Geld mir jemanden
zu mieten, der diesen Text für mich schreibt), aber wenn ihr ernsthaft mit DX anfangen wollt solltet ihr euch
"Inside DirectX" kaufen. Ist ein gutes Buch. Es geht allerdings kaum auf d3d ein, erklärt aber die Logik
hinter DirectX (Ja, glaubt es oder nicht, da gibt es eine Logik irgendwo). Es gibt auch ein "Inside DirectX",
aber gelesen habe ich es noch nicht und ich habe einige schlechte Kritiken über die früheren Bücher des Autors
gelesen. Also lest dort erst einmal die Rezesionen bevor ihr einsteigt.
Ich dachte daran ein kleines Tutorial zu schreiben, als ich damals DX5 auf die harte Tour lernte (nur
mit dem SDK), aber nun da DX7 draußen ist und erst recht seit es D3DX7 gibt (liebt ihr nicht auch diese Abkürzungen?)
ist dieses Tutorial eher eine Selbstverständlichkeit.
Wir werden uns durch die Initialisierung arbeiten, ein paar Polys darstellen, Vertices in einen Vertex Buffer
einsetzen und die Texturen hinzufügen. Ich würde euch gerne noch die Blending Modes (Transparenzen) zeigen, aber
da bin ich selbst noch nicht so richtig durchgestiegen. Fast jeder Aspekt bei DirectX variiert zwischen den
verschiedenen Beschleunigern (teilweise weil Microsoft eine sehr weitläufige Definition angegeben hat, teilweise weil die
Treiber der 3D Beschleuniger mies sind) und Blending Modes sind eine Sache, die sehr variiert. Jemand hat mal berechnet
das es etwa 4 Millionen Kombinationen der Blend Variablen gibt, also wundert mich das gar nicht.
Der angegebene Code ist nicht als Beispiel für perfekte Windows Programmierung gedacht oder sonst irgendwelcher
Programmierung. Aber das solltet ihr auch so wissen.
Genug Warnungen und Hinweise. Weiter geht's
