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

1

09.09.2009, 17:26

kleine Frage zu Indices

Hallo,

ich habe eine .obj Datei und will sie mit DirectX anzeigen lassen. Ich habe nun die "v" in einen vertecs mit x, y und z gespeichert. Nun habe ich eine Frage zu den Faces (also den "f"): Wie muss ich die speichern? In meiner .obj Datei besteht eine "f"-Zeile aus einer Klammer, also so:

Quellcode

1
f 1/2 3/2 3/4


Vielen Dank schon mal!

P. S.: Wie es danach weitergeht weiß ich (Indexbuffer, Vertexbuffer, ...)

the[V]oid

Alter Hase

Beiträge: 775

Wohnort: Aachen

  • Private Nachricht senden

2

09.09.2009, 17:39

Was ist denn bei dir eine .obj Datei? Für mich ist es das Zwischenprodukt von Compiler und Linker.
<< an dieser Stelle ist eine Signatur verstorben >>

C--

Alter Hase

Beiträge: 465

Beruf: Schüler

  • Private Nachricht senden

3

09.09.2009, 17:48

Zitat von »"the[V«

oid"]Was ist denn bei dir eine .obj Datei? Für mich ist es das Zwischenprodukt von Compiler und Linker.


Ich glaub es gibt auch irgendein Modellformat .obj ;)
Ich spreche: C/C++, C++/CLI C#, VBA, VB.NET, Delphi, (HTML, Javascript(bisschen))
------------------------------------------------------------
Hier steht eventuell schon in ein paar Monaten der Link zu meiner Homepage!

return 0;
;)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

09.09.2009, 17:58

Ein Face ist ein Polygon bestehend aus n Vertices. Die Vertices (Indices in die Vertexliste) werden in der Liste hinter dem f, durch jeweils ein Leerzeichen getrennt, angegeben. Optional kann bei jedem Vertexindex noch ein Index für die Vertexnormale und/oder ein Index für die Texturkoordinaten stehen, allgemein sieht das Kommando also so aus:

Quellcode

1
f v1/[t1]/[n1] v2/[t2]/[n2] /* ... */ v_n/[t_n]/[n_n]


Die geklammerten Werte sind Optional, müssen also nicht angegeben werden, d.h. wenn ein Face keine Texturkoordinaten besitzt werden zwei Trenner (ohne Wert) geschrieben, z.B.: f 1//3 2//2 3//1 usw...

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

09.09.2009, 18:03

Re: kleine Frage zu Indices

Quellcode

1
f 1/2 3/2 3/4


Die ersten Zahlen (die vor den /, also 1, 3, 3) stehen für die Indices der Vertices die das Face aufspannen. In dem Fall wär das also ein Dreieck das aus dem 1ten, dem 3ten und nochmal dem 3ten Vertex besteht.
Die nächsten Zahlen geben die Indices der Texturkoordinaten an und wenn dann nochmal Zahlen da wären, also z.B.

Quellcode

1
f 1/2/12 3/2/11 3/4/10


dann wären das die Indices der Normalvektoren.

6

09.09.2009, 19:57

also die ersten (vor der Klammer) ganz normal mit x, y und z speichern und die nach der Klammer als Texturkoordinaten (also wieder x, y und z)?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

7

09.09.2009, 22:45

Zitat von »"ikea"«

also die ersten (vor der Klammer) ganz normal mit x, y und z speichern und die nach der Klammer als Texturkoordinaten (also wieder x, y und z)?


Welche Klammer? Der erste Wert ist der Index auf den "Vertex" (die Position) der zweite ist der Index auf die Texturkoordinaten des Vertex... Dachte du weißt "Wie es danach weitergeht (Indexbuffer, Vertexbuffer, ...)".

Werbeanzeige