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

13.10.2003, 16:23

Vertex- und IndexBuffer

Hi Leute,

1. Frage: Muss man bei den tbVertexBuffer und tbIndexBuffer noch ein Lock und Unlock durchführen?

2. Frage: Was bewirkt
m_pVertexBuffer->SetFirstVertex(0);
m_pVertexBuffer->SetLastVertex(Num_Verts - 1);
? Die Befehle hat David in einem seiner Programme verwendet unter dem Kommentar // Vertex-Buffer aktualisieren.
Unter den Befeheln kommt aber erst das m_pVertexBuffer->Update()

3. Frage: Habe einen Würfel gezeichnet:
http://daclan.strikenet.at/Aurenvar/Screen1.jpg

was ist da falsch gelaufen?
Hier die ModelLog.txt
http://daclan.strikenet.at/Aurenvar/ModelLog.txt

und hier mein MD3 import datei (Sie ist noch ziemlich schlampig programmiert, weil ich vorerst mal schnell zu einem Ziel kommen wollte)
Verbesserungsvorschläge des Codes nehme ich gerne an.
http://daclan.strikenet.at/Aurenvar/MD3Model.h
http://daclan.strikenet.at/Aurenvar/MD3Model.cpp

4. Frage: Wie speichert ihr ein Modell in c++? Nehmt ihr dazu Arrays? Ich hab eine lineare Liste verwendet. Wie wirds normal gemacht?


Zusatz: Wer zufällig schon mal eine brauchbare MD3Model datei zum einlesen von MD3 dateien geschrieben hat, würde ich mich ganz super toll freuen wenn er mir die schicken könnte. :roll:

Grüße, da_oAsch

2

13.10.2003, 16:25

aja, zu der ModelLog.txt

Die Vertexkoordinaten muss man noch durch 64 Teilen (ist so im MD3 format gespeichert)
da_oAsch

Tobiking

1x Rätselkönig

  • Private Nachricht senden

3

13.10.2003, 16:39

Zitat


m_pVertexBuffer->SetFirstVertex(0);
m_pVertexBuffer->SetLastVertex(Num_Verts - 1);


Zu 1)
Kann man sich doch vom namen her denen. 1. Vertex setzen ist dort wo er im Vertex Buffer anfangen soll zu lesen. Man will ja nicht wenn man 4 Würfel im Vertexbuffer hat immer alle gleichzeitig Rendern sondern auch mal einen ausgewählten. Und mit dem letzten kann dan ausgerechnet werden wieviele Objekte gezeichnet werden.

Zu 2)
Kann es sein das Culling an ist und da was falsch ist ?

4

13.10.2003, 18:58

nein das culling stimmt
hab in der ModelLog.txt sogar schon die richtung der Dreiecke kontrolliert. Man von aussen entweder gar nix oder eben einen Würfel sehen.

der Ratlose oAsch :help:

5

14.10.2003, 13:59

Problem gelöst

Ok, das Problem hat sich für mich jetzt erst mal erledigt.

Grund: Ich nehm jetzt 3ds format.

Bin drauf gekommen, das der 3ds-tbm konverter von david mit meinen 3ds dateien aus milkshape nix anfangen konnte. (Wahrscheinlich hab ich falsche einstellungen gemacht beim erstellen der 3ds models oder sowas)

Hab mir 3ds Max gekauft und bin jetzt mal neugierig obs da funktioniert.

Danke für rat und tat

Thread schliessen!

mfG da_oAsch

NoName

Treue Seele

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

6

15.10.2003, 20:51

zu 1) Nein, nur "Update ()".

zu 2) "FirstVertex" ist der erste veränderte Vertex und "LastVertex" der letzte. Wenn nun "Update ()" aufgerufen wird, werden im "echten" Vertexbuffer alle Vertizes vom ersten bis zum letzten veränderten Vertex aktualisiert. "SetFirstVertex (0)" und "SetLastVertex (Num_Verts - 1)" werden nur aufgerufen um sicherzustellen, dass der ganze "echte" Vertexbuffer aktualisiert wird.

Werbeanzeige