OpenGL mit dem md2-format
-
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
-
@xindon
Wenn ich dich richtig verstehe,
dann liegen die Dreiecke schon richtig im Speicher.Das kann doch gar nicht sein, weil es ja OpenGL-Commands in manchen md2s gibt,
um es möglichst schnell zu rendern. Und die GL-Commands benutzen ja nicht nur GL_TRIANGLE_STRIP sondern auch GL_TRIANGLE_FAN um zu rendern.Oder versteh ich dich falsch?
-
War eigentlich ironisch gemeint...
Was meinst du denn mit "weil es ja OpenGL-Commands in manchen md2s gibt"?
Meinen wir das gleiche md2? Das Quake Model-Format, oder?
-
Jo,
natürlich meine ich das Quake 2 .md2. In den Original - Modellen von Quake 2 (in vielen anderen .md2s nicht) gibt es, um die Models schneller zu rendern, die Möglichkeit, aus den Modeldateien darin gespeicherte OpenGL-Befehle zu lesen, die es erlauben das Model mit
GL_TRIANGLE_STRIP und GL_TRIANGLE_FAN zu rendern.
http://tfc.duke.free.fr/ -> Md2Loader 