OpenGL mit dem md2-format
-
hallo,
ich hab ein problem beim Rendern von MD2s.
ich will die models so schnell wie möglich rendern und dazu vertex arrays
und GL_TRIANGLE_STRIP verwenden, aber
in meinen modellen sind keine gl-commands.
Kann ich das dann trotzdem in vertex arrays packen oder geht das nicht, weil man hat ja keine ahnung in welcher reihenfolge die dreiecke in der modell-datei liegen?scho ma danke
-
Simmon schrieb:
hat ja keine ahnung in welcher reihenfolge die dreiecke in der modell-datei liegen?
scho ma danke
Dafür gibt's "Stripification" Algorithmen wie z.B. "Tunneling" les dir einfach mal das durch:
http://www9.informatik.uni-erlangen.de/Teaching/SS2003/InCG/Material/standardpipeline.pdf
-
ja,danke,
aber des muss doch auch einfacher gehn, oder?
*verwirrung*

-
Warum entwicklet man das denn, wenn es auch leichter geht? f'`8k
Bye, TGGC (\-/ returns)
-
weil es langweilig ist ein fertiges spiel zu kaufen, selber coden macht mehr spass...
-
rapso schrieb:
weil es langweilig ist ein fertiges spiel zu kaufen, selber coden macht mehr spass...
Ich glaube TGGC meinte, warum man denn so ein "komplexes" Verfahren entwickelt, wenn es doch auch "einfacher gehen muss". Irgendwie fehlt mir da nun der Bezug zu Deinem Posting.

-
Jester schrieb:
Ich glaube ...

du mußt versuchen einen glauben zu finden der seinen nichtssagenden satz und meine darauf rumreitende ironie in einklang bringt, natürlich auch mit der natur und den ying&yang.
-
rapso schrieb:
Jester schrieb:
Ich glaube ...

du mußt versuchen einen glauben zu finden der seinen nichtssagenden satz und meine darauf rumreitende ironie in einklang bringt, natürlich auch mit der natur und den ying&yang.
Findest Du es nicht etwas unhöflich mein Posting derart verstümmelt zu zitieren?
Letzlich wollte ich nur anmerken, daß Dein Posting inhaltslos und am Thema vorbei war. Nun klarer?
-
ja danke,
Hab ich sonst denn keine chance des irgendwie
schneller als mit GL_TRIANGLES gerendert zu kriegen als mit stripfication-algorhytmen?
-
klar, die Daten aus dem Md2 Format auslesen, dir ein Tool suchen das Stripification macht und dann die Daten in deinem gewünschten Format speichern. Fertig.
-
Simmon schrieb:
ja danke,
Hab ich sonst denn keine chance des irgendwie
schneller als mit GL_TRIANGLES gerendert zu kriegen als mit stripfication-algorhytmen?Vertex-Buffer Objects
-
triangle-strips sind (mittlerweile) voellig ueberschaetzt. einfaches indexing mit cache-freundlicher sortierung ist teilweise sogar performanter da flexibler.
-
Hi!
Jo, da kann ich nur zustimmen. Verwende VBOs und gut is. Wenn du deine Puffer gut managest wird das Rendern ruckzuck ablaufen.
Wie Carmack gestern sagte:
Use VBO for everything.

grüße
-
jo,
Danke.
Ich arbeite ausschliesslich mit Vertex Buffern und Indexen, und dann kann ich ja beruhigt sein.
-
Ich arbeite ausschliesslich mit Vertex Buffern und Indexen, und dann kann ich ja beruhigt sein.
leider nicht.
du solltest die reihenfolge deiner polygone so umsortieren, dass einerseits moeglichst viele vertices aus dem post-t&l-cache wiederverwendet werden koennen (und dementsprechend moeglichst wenige tatsaechlich den vertexshader-code durchlaufen) und, andererseits, moeglichst sequenziell auf den vertexbuffer indiziert wird (pre-t&l-cache):
http://research.microsoft.com/~hoppe/tvc.pdf
-
nvTriStrip kann neben Triangle-Strips auch einfach solche cache-optimierten Vertex-Listen erzeugen. Die Lib kannst du dir einmal ansehen, die ist wirklich einfach zu benutzen.
-
Schon.
@hellihjb:
Danke, aber wenn ich wüsste, wie die Polygone im Speicher liegen, könnte ich sie auch gleich mit TRIANGLE_STRIP rendern.
-
wie kann man nicht wissen was man selbst rendert?
-
Ich weiss dass ich ein .md2 render,
aber nicht in welcher Reihenfolge die Dreiecke im Speicher liegen.mfg
-
Simmon schrieb:
Ich weiss dass ich ein .md2 render,
aber nicht in welcher Reihenfolge die Dreiecke im Speicher liegen.mfg
Genau, md2 benutzt einen Zufallsgenerator um seine Dreiecksdaten willkürlich zu mixen beim Speichern