email sol follow sol rss feed of the blog wishlist Sol::Tutorials

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

Site design & Copyright © 2017 Jari Komppa
Possibly modified around: April 26 2010