[Format] DirectX X File Format

Design Patterns, Erklärungen zu Algorithmen, Optimierung, Softwarearchitektur
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Antworten
Benutzeravatar
Brainsmith
Establishment
Beiträge: 109
Registriert: 04.09.2009, 13:52
Echter Name: Fabbo

[Format] DirectX X File Format

Beitrag von Brainsmith »

Hallo, ich hab mal eine hoffentlich simple Frage. Vorab: Es handelt sich bei unserem verwendeten DirectX um DX9.

DirectX kann ja grundsätzlich nur Dreiecke und keine Quads handhaben. Angenommen, ich bau ein Modell in Blender mit Quads und exportiere das dann in eine .x Datei. Ist das Modell dann schon trianguliert? Unser Grafiker meinte nämlich, dass DirectX dann bei jedem Rendern das Modell trianguliert, was mir etwas sinnlos erscheint (traue niemals dem Grafiker =D). Wenn ich nämlich das Modell vorher in Blender trianguliere, bekomme ich nen Haufen mehr Vertices (rund 50% mehr als ohne Triangulation).

Also nochmal explizit die Frage: Speichert das .x-Format als Datenstruktur auch Quads oder nur Dreiecke? Falls es auch Quads speichert, wann geschieht die Umstrukturierung in Dreicke?

Vielen Dank im Voraus

LG

Brainsmith
Benutzeravatar
Schrompf
Moderator
Beiträge: 4929
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Format] DirectX X File Format

Beitrag von Schrompf »

Das DirectX .x-Format speichert nach meinem Wissen auch Quads oder Polygone. Der Model-Loader muss die dann natürlich triangulieren, weil Grafikkarten ja nur Dreiecke können. Ich weiß nicht, was Du zum Laden des Modells benutzt, aber irgendwer muss es tun, und das vor dem Befüllen des VertexBuffers.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Brainsmith
Establishment
Beiträge: 109
Registriert: 04.09.2009, 13:52
Echter Name: Fabbo

Re: [Format] DirectX X File Format

Beitrag von Brainsmith »

Danke für die schnelle Antwort.

Daraus ergibt sich natürlich die Frage, wann das Modell trianguliert wird. IMO wäre es allerdings schwachsinnig, wenn die Engine das jeden Frame täte.
Die Engine lädt die Modelle ja und bildet sie korrekt ab, nur wenn die Modelle tatsächlich bei jedem Rendervorgang trianguliert würden, wäre das eine massive Verschwendung von Rechenzeit.

Gut, dann werde ich mal in der Engine-Doku nach Infos Ausschau halten.

LG


Brainsmith
Benutzeravatar
Schrompf
Moderator
Beiträge: 4929
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Format] DirectX X File Format

Beitrag von Schrompf »

Wie gesagt: vor dem Befüllen des VertexBuffers. Also einmalig als Nachbereitung des Modells nach dem Laden. Da passiert üblicherweise noch ne Menge mehr, weswegen ich ja immer für die Verwendung eines engine-spezifischen Binärformats als Zwischenspeicher plädiere.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Antworten