Zitat von
TurboMartin:
So, ich hab jetzt die beiden Dateien, die ich eingebunden hab durchsucht und was gefunden.
Allerdings kapier ich nicht was in die Parameter rein soll.
So hab ich es verstanden:
Delphi-Quellcode:
D3DXCreateSphere(1.00,
{kA (hab irgendeine Zahl eingesetzt)}, {ist das die Höhe ?}
{kA (hab irgendeine Zahl eingesetzt)}, {ist das die Nähe vom Betrachter?}
{kA (irgendeine Adresse zu nem Pointer)},
0);
Aber was bedeuten die Sachen genau? In der
MSDN hab ich auch nichts kapiert.
Du bindest jedes Objekt an dein Device, das du schon erstellt hast. Das is der erste Parameter.
Der Radius duerfte klar sein. Slices und Stacks sind Werte, die die Detailgenauigkeit der Kugel angeben. Je groesser die beiden Werte, desto mehr Vertices, desto Detaillierter die Kugel, desto langsamer das Rendern.
Die Adresse zu nem Pointer ist der Zeiger auf dein Mesh. Darin wird die Kugel gespeichert, sodass du sie anschliessend zeichnen kannst.
Der letzte Parameter ist ein Stream, der nicht unbedingt gegeben sein muss. Darin stuenden jeweils die 3 Nachbaren eines jeden Vertices.
Ich wuerde dir uebrigens empfehlen, vor allem fuer den Einstieg, Managed
DirectX zu verwenden. Nicht nur, dass der Code leichter lesbar wird, sondern auch, weil alles objektorientiert strukturiert ist, und somit auch bspw. die D3D-Extention in die entsprechenden Klassen eingebaut ist.
Ein Beispiel zu deinem Fall:
Code:
D3DXCreateSphere(Device, 1.0, 36, 36, &Mesh, NULL)
vs
Code:
Mesh.Sphere(Device, 1f, 36, 36);
Funktionen liegen bei den Klassen, zu denen sie gehoeren, und bietet damit mehr lesbarkeit und groessere Uebersicht.
greetz
Mike