Zum Inhalt springen

DirectX


jasso

Empfohlene Beiträge

hi

kann mir irgendwer ein vernüntiges script (QuellcodeBeispiele + Anweisungen wie es gemacht wurde) zu DirectX-Programmierung mit C++ empfehlen? ich habe schon ziemlich viel gesucht, gefunden und ausprobiert, aber mehr als die hälfte davon funzt einfach net ganz so wie es sollte.

mercy jasso

Link zu diesem Kommentar
Auf anderen Seiten teilen

so jetzt habe ich doch tatsächlich angefangen das toturial durchzumachen. nun sind da aber einige fragen aufgetaucht.

1. was genau ist LPDIRECT3D8 und LPDIRECT3DDEVICE8? soweit ich des ezt

verstanden habe, erzeugt einer der beiden einen Gerätekontext auf die

Grafikkarte, und der andere einen auf DirectX. nur warum verwende ich jetzt eimal

den einen und ein andermal wieder den anderen???? irgendwie blick ich da nicht

so recht durch

2. wenn ich eine Matrix zum verschieben mache (mit (D3DXMatrixTranslation"), und

diese dann auf einen Würfel anwende, wird mir dieser Würfel nur einmal

verschoben, obwohl ich die funktion welche SetTransform für den würfel ausführt,

immer und immer wieder wiederhole. (Toturial 5)

3. wenn ich Matrizen auf Figuren anwende. werden da die Koordinaten der Figur

verändert, oder nur das Bild das am Monitor angezeigt wird. wenn nur das bild

verändert wird, wäre es noch hilfreicht irgendwie wieder die koordinaten des

aktuell angezeigten würfels zu bekommen (nur wie??)

ansonsten überzeugt mich dieses toturial immer mehr

für weiter hilfe währe ich allerdings sehr dankbar

Link zu diesem Kommentar
Auf anderen Seiten teilen

zu 1:

IDirect3D8 ist das Hauptinterface von Direct3D 8. Damit kann man Grafikkarten und deren Fähigkeiten enumerieren und anschließend ein Device für eine entsprechende Karte mit entsprechenden Fähigkeiten und Parametern erstellen.

IDirect3DDevice8 ist dann das Device, welches man mit IDirect3D8 erstellt hat. Dieses Interface beinhaltet quasi alle Funktionalitäten, um damit eine 3D-Anwendung zu gestalten. Im Prinzip arbeitet man nach der Enumeration nur noch mit diesem Device. Surfaces, die dann den Backbuffer oder Texturen darstellen werden alle an dieses Device "angehängt". Das Rendern selbst geschieht auch damit.

zu 2:

Da ich den Code nicht kenne, kann ich nur spekulieren. Vielleicht weist das Programm immer die gleichen Offsets zu? Dann wird der Würfel auch immer an der gleichen Stelle gerendert.

zu 3:

Das Ganze läuft so: Die Figur befindet sich in ihrem eigenen lokalen Koordinatensystem. Dieses Koordinatensystem verschiebt man dann mittels Matrizen (oder auch rotieren und skalieren). Wenn du also ein Objekt mittels Matrix verschiebst, hast du die Werte der aktuellen Position. Wenn du die Werte der letzten Position haben möchtest, mußt du eine weitere Matrix temporär dafür verwenden. Oder einfach eine Struktur, die soundsoviele Positionen speichern kann.

Tatsache ist aber, dass sich die Vertex- und Face-Daten des lokalen Systems nicht ändern.

Um es auf den Punkt zu bringen:

Vertices und damit Faces des lokalen Koordinatensystems bleiben erhalten.

Das lokale System wird im "Welt-"koordinatensystem verschoben.

Es ändert sich daher die Position und das angezeigte Bild. Es sei denn, du verschiebst die ViewMatrix auch um den selben Wert, dann ändert sich das Bild nicht, sondern nur die Matrizen :)

Hoffe man kann das einigermaßen verstehen :rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...