[DX10] Sind Meshes sinnvoll?

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

[DX10] Sind Meshes sinnvoll?

Beitrag von Zudomon »

Hi,

und wieder muss ich euch mit einer Frage belästigen. ;)

Die Frage: Sollte man sich lieber ein eigenes Mesh-System basteln oder auf das vorhandene aufsetzen? Z.B. ist es ja durchaus sinnvoll, mehrere Objekte in einen Vertexbuffer zu vereinen, damit das Switchen zwischen den Buffern weg fällt... auf der anderen Seite gibt es ja viele Funktionen, die auf Meshes angewendet werden können ( z.B. GenerateGSAdjacency oder Optimize ).

Außerdem gibt es da ja noch die Möglichkeit, einen Strahl mit einem Subset eines Meshes zu schneiden. Wenn man das nun selbst implementieren würde und eine Baumstruktur der Dreiecke bilden würde ( wie beim Raytracen ), dann frage ich mich, ob das nicht wesentlich schneller wäre. Ist halt die Frage, wie das in DX implementiert wurde. Wenn da nur naiv über alle Dreiecke iteriert wird, dann wäre ja das selber bauen durchaus Sinnvoll.

Bin mal auf eure Meinungen gespannt! :D

MfG
Zudo
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: [DX10] Sind Meshes sinnvoll?

Beitrag von Aramis »

Ich würde sagen, es hängt von der Größe des Projektes ab. Ab einem bestimmten Umfang wirst du sicherlich dein eigenes Szenengraphsystem basteln wollen, womit auch die Meshverwaltung und -Optimierung bei D3DX nicht mehr wirklich gut aufgehoben ist.
Ist halt die Frage, wie das in DX implementiert wurde. Wenn da nur naiv über alle Dreiecke iteriert wird, dann wäre ja das selber bauen durchaus Sinnvoll.
Generell hat D3DX sehr schnelle und gewiss nicht naive Implementierungen. Von Hand kriegst du es vermutlich bloß schneller hin wenn du mehr Informationen über die Szenenhierarchie hast und somit weitreichendere Optimierungen durchführen kannst.

Ein Vorteil der D3DX-Meshes ist dass du sie direkt aus den unterstützten Fileformaten laden kannst, machst du alles selber, so musst du eben auch die 3D-Files selber laden. Hierfür könnte eventuell der Link in meiner Signatur hilfreich sein.

Alex
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [DX10] Sind Meshes sinnvoll?

Beitrag von Zudomon »

Alexander Gessler hat geschrieben:Hierfür könnte eventuell der Link in meiner Signatur hilfreich sein.
Da habe ich schon einen Blick drauf geworfen und ich muss sagen, wirklich seeeehr vernünftig!! Sowas wäre Ideal, allerdings ist mein Problem, dass ich mit Delphi arbeite. :(
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: [DX10] Sind Meshes sinnvoll?

Beitrag von Aramis »

Sowas wäre Ideal, allerdings ist mein Problem, dass ich mit Delphi arbeite
Hmm ... im Prinzip wäre es ausreichend das C-API von Assimp nach Delphi zu portieren, sprich die ganzen Funktionen und Datenstrukturen der aiXXX-Familie. Dann sollte es funktionieren, genau nach dem selben Prinzip arbeitet z.B. auch blitzmax-assimp.

Falls du in die Richtung etwas machen wolltest, so wäre ich dir sehr dankbar wenn du das Ergebnis mit uns teilen würdest damit auch andere Delphi-User davon profitieren könnten :-)

Alex
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [DX10] Sind Meshes sinnvoll?

Beitrag von Zudomon »

Falls ich das wirklich nach Delphi portieren sollte, würde ich das natürlich auch mit der Community teilen! :D Eine Hand wäscht die andere! Aber leider werde ich das zeitlich erstmal nicht schaffen.
Antworten