AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [Direct3D] Mit DX Kugel erzeugen
Thema durchsuchen
Ansicht
Themen-Optionen

[Direct3D] Mit DX Kugel erzeugen

Ein Thema von TurboMartin · begonnen am 14. Aug 2006 · letzter Beitrag vom 14. Aug 2006
 
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#4

Re: [Direct3D] Mit DX Kugel erzeugen

  Alt 14. Aug 2006, 12:26
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
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz