Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

DrthM2001

Alter Hase

  • »DrthM2001« ist der Autor dieses Themas

Beiträge: 721

Wohnort: Karlsruhe

  • Private Nachricht senden

1

19.07.2004, 17:08

Eigene Typen

Wieso verwendet man im Buch, also die TriBase, eigene Typen wie tbVector3 oder tcColor? Es gibt doch schon "vorgefertigte" Typen wie D3DVECTOR oder D3DCOLORVALUE? Die von DirectX sollten doch eigentlich auch ausgereift und optimiert sein, oder?

2

19.07.2004, 17:36

Für die Direct3D Typen gibt es keine Implementierung. Sie besitzen nur Variablen. Daher kann man sie auch nicht Optimieren ;)

Es ist freilich jedem überlassen ob er fertige Klassen nimmt oder sich selbst welche baut. Bei eigenen Klassen kann man allerdings mehr damit machen. Wie z.B. bei den Tribase Klassen (tbVector[n]D, tbMatrix, etc.). Dort gibt es eingebaute Methoden für die Normalisierung, Multiplikation, etc.

Sicherlich, sind es in diesem Fall alles Inline Methoden und eine Optimierung durch z.B. SSE wäre eine Nette sache.

Wenn deine Engine jedoch z.B. Plattform übergreifend Implentiert werden soll, bleibt dir schlich nichts anderes übrig als eigene Klassen zu Implementieren. Da es eine d3d9.h unter Linux nicht gibt.

Im Falle der TriBase, liegt es einfach daran das gezeigt werden soll wie man eine Engine aufbauen kann. Dazu gehört auch die Implementierung eigener Typen.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

adapto

Treue Seele

Beiträge: 147

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

3

19.07.2004, 17:46

Normalisierung, Multiplikation, etc. gibt es auc unter d3d, aber wie dragon geschrieben hat ist es sicherlich wertvoller was eigenes zu machen um die vorgänge hinter der 3d berechnung selbst zu begreifen und man die mathe bibl an seine bedürfnisse anpassen.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

19.07.2004, 21:14

der vorteil der D3DX bibliothek is halt der, dass die dinger da drin hochoptimiert sind...
der vorteil eigener implemetationen is der, dass du dir im klaren darüber bist, was da im hintergrund passiert...
und wenn du dann noch techniken wie z.b. SSE oder 3D Now! verwendest, wirst du speedmäßig sicherlich mit D3DX mithalten können.

Werbeanzeige