Ich hab ja schon angedeutet, dass ich mich nun ein bisschen mit DirectX (bzw. in erster Linie Direct3D) auseinandersetzen möchte. Ich möchte mich dabei gerne auf DirectX 9 beschränken, da es mir vorerst nicht um größte Effizienz, Portabilität (XBox, Smartphones, etc.) und solche Dinge geht, sondern ich einfach eine kleine nicht-Resourcen-Hungrige Anwendung zum Ziel habe, die möglichst auch auf betagteren Rechnern, die noch kein DirectX 10 oder höher unterstützen, lauffähig sein soll.
Ich habe jetzt die vergangenen 48 Stunden intensiv damit zugebracht, Tutorials zu finden und zu lesen, nachzubauen, dazu das DirectX SDK von Microsoft und SharpDX 2.5.0 installiert und hauptsächlich mit dem Beispiel "MiniCube" herumgespielt, z.B. Form und Farbe verändert, die zeitabhängige Rotation in eine statische Rotation geändert, die durch Mausbewegungen des Benutzers beeinflusst werden kann, die Ausgabe nicht in eine Form sondern ein Control (hier: Panel) vorgenommen, und weitere solcher "Kleinigkeiten".
Soweit ich aber insbesondere das MiniCube-Beispiel und die meisten Einsteiger-Tutorials verstehe, wird hier ein Objekt mit seinen Koordinaten in Form eines VertexBuffers erzeugt und die Darstellung wird rotiert, indem einfach die "gesamte Welt" (durch Anwenden der entsprechenden Transformation) rotiert wird.
Mein nächster Schritt sollte es sein, mehr als ein Objekt darzustellen. Für den Anfang also zum Beispiel zwei Würfel, die ruhig zunächst identisches Aussehen haben können. Doch genau da komme ich nicht weiter. Mir fehlt irgendwie der Schritt von "ein Objekt" zu "ein oder mehrere Objekte in einer Welt". Insbesondere möchte ich ja auch Kontrolle über jedes einzelne Objekt in dieser Welt haben, d.h. jedes Objekt (also zunächst jeden der beiden identischen Würfel) separat an eine bestimmte Position veschieben (Translation) und dort ausrichten (Rotation).
Ein späterer Schritt soll z.B. sein, Objekte mit identischer Form mit unterschiedlichen Farben und/oder Texturen zu versehen, aber das nur als Zusatzinfo für den Fall, dass das ggf. schon Einfluss darauf haben kann, wie ich nun weiter vorgehen kann.
Sind Vertices und VertexBuffer überhaupt geeignet um einzelne Objekte zu modellieren? Oder gibt es für platzierbare Objekte eigene Klassen, mit deren Hilfe ich nur noch Welt-Position und Rotation (und ggf. Skalierung - die ich nicht unbedingt bräuchte) des Objekts festzulegen bräuchte?
Ich habe jetzt die vergangenen 48 Stunden intensiv damit zugebracht, Tutorials zu finden und zu lesen, nachzubauen, dazu das DirectX SDK von Microsoft und SharpDX 2.5.0 installiert und hauptsächlich mit dem Beispiel "MiniCube" herumgespielt, z.B. Form und Farbe verändert, die zeitabhängige Rotation in eine statische Rotation geändert, die durch Mausbewegungen des Benutzers beeinflusst werden kann, die Ausgabe nicht in eine Form sondern ein Control (hier: Panel) vorgenommen, und weitere solcher "Kleinigkeiten".
Soweit ich aber insbesondere das MiniCube-Beispiel und die meisten Einsteiger-Tutorials verstehe, wird hier ein Objekt mit seinen Koordinaten in Form eines VertexBuffers erzeugt und die Darstellung wird rotiert, indem einfach die "gesamte Welt" (durch Anwenden der entsprechenden Transformation) rotiert wird.
Mein nächster Schritt sollte es sein, mehr als ein Objekt darzustellen. Für den Anfang also zum Beispiel zwei Würfel, die ruhig zunächst identisches Aussehen haben können. Doch genau da komme ich nicht weiter. Mir fehlt irgendwie der Schritt von "ein Objekt" zu "ein oder mehrere Objekte in einer Welt". Insbesondere möchte ich ja auch Kontrolle über jedes einzelne Objekt in dieser Welt haben, d.h. jedes Objekt (also zunächst jeden der beiden identischen Würfel) separat an eine bestimmte Position veschieben (Translation) und dort ausrichten (Rotation).
Ein späterer Schritt soll z.B. sein, Objekte mit identischer Form mit unterschiedlichen Farben und/oder Texturen zu versehen, aber das nur als Zusatzinfo für den Fall, dass das ggf. schon Einfluss darauf haben kann, wie ich nun weiter vorgehen kann.
Sind Vertices und VertexBuffer überhaupt geeignet um einzelne Objekte zu modellieren? Oder gibt es für platzierbare Objekte eigene Klassen, mit deren Hilfe ich nur noch Welt-Position und Rotation (und ggf. Skalierung - die ich nicht unbedingt bräuchte) des Objekts festzulegen bräuchte?
Weltherrschaft erlangen: 1%
Ist dein Problem erledigt? -> Dann markiere das Thema bitte entsprechend.
Waren Beiträge dieser Diskussion dabei hilfreich? -> Dann klick dort jeweils auf den Hilfreich-Button.
Danke.
Waren Beiträge dieser Diskussion dabei hilfreich? -> Dann klick dort jeweils auf den Hilfreich-Button.
Danke.