Registriert: Sa Okt 26, 2002 17:14 Beiträge: 188 Wohnort: Hannover/Lüneburg
Hallo!
Ich bin momentan dabei mich mit Terrains zu beschäftigen. Den CLOD-ALgo aus eurem Tut (ist wirklich gut) habe ich bereits eingebaut. Doch bevor ich mich daran mache, diesen zu erweitern und andere Routinen die auf dem Terrain aufbauen zu schreiben würde ich doch ganz gerne wissen, ob es bessere/schnellere Algos für Terrains gibt. Beim Rendern ist er zwar annehmbar schnell, aber das Neu-Berechnen nach einer Bewegung kostet doch einiges an Rechenzeit.
_________________ Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?
Ganz intressant ist der Geometrical Mipmaps Algorhytmus. Ich plane ihn irgendwann einmal selber nachzubauen und meine Auslegung bei DGL zu veröffentlichen, kann aber etwas dauern, hab etwas wenig zeit.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Interessante Terrain-Rendering-Verfahren gibts so einige, die alle ihre Vor- und Nachteile haben.
Während verfahren wie z.B. ROAM oder CLOD Prozessorlastig sind (und damit eher für Rechner mit schwacher Grafikkarte geeignet sind), sind Geo-Mip-Mapping sowie das Brute-Force-Verfahren (einfaches Zeichnen der Dreiecke ohne Optimierung, schnell auf modernen Grakas mit hohem Polygondurchsatz bei kleinen Terrains) eher Grafikkartenabhängig und damit eher für Rechner mit modernen Grakas (GF3 und höher) geeigent.
Hier mal ein paar nützliche Links zu verschiedenen Algos:
Zum Thema Geo-Mip-Mapping hab ich schonmal ein Demoprogramm gecoded, das aber noch optimiert werden muss...wenn Interesse besteht, werd ich den Sourcecode vielleicht veröffentlichen.
Registriert: Sa Okt 26, 2002 17:14 Beiträge: 188 Wohnort: Hannover/Lüneburg
OK, danke euch beiden, dass ist ja schonmal was.
Werd mir dann mal die Texte dazu durchlesen und wohl am besten mal noch 1 oder 2 weitere Algos in meine "Engine" einbauen. Kann dann ja umschalten und mal testen, welcher wann genau wieviel schneller ist (außerdem macht ja das proggen und [hoffentliche] verstehen auch noch Spass ).
Achja, Interesse an Geometrical-Mip-Map besteht natürlich.
_________________ Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?
Ist es eigentlich nicht sonnvoll und evtl. ein Kompromiss, wenn man sein erstelltes Terain in einen OcTree oder QuadTree packt um das Rendern zu optimieren (vor allen wenn man eine Engine mit Indoor & Outdoor Levels erstellt und deswegen evtl. sowieso schon 'nen OcTree hat)?!?
_________________ Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Zitat:
Ist es eigentlich nicht sonnvoll und evtl. ein Kompromiss, wenn man sein erstelltes Terain in einen OcTree oder QuadTree packt um das Rendern zu optimieren (vor allen wenn man eine Engine mit Indoor & Outdoor Levels erstellt und deswegen evtl. sowieso schon 'nen OcTree hat)?!?
Hast schon Recht...Geo-Mip-Map, BruteForce oder CLOD sind ja nur Verfahren um die Geometrie zu optimieren.
Natürlich sollte man da auch noch ne Art Clipping machen um die Menge der zu übertragenden Geometriedaten zu verringern.
Sei das in Form von Frustum Culling (bietet sich beim Geo-Mip-Mapping an, da man dort ja schon Blöcke fester Größe und damit deren Ausmasse hat) oder via Octrees.
Edit : Unter folgendem Link : <a href='http://www.vterrain.org/LOD/Papers/index.html' target='_blank'>http://www.vterrain.org/LOD/Papers/index.html</a> gibts noch jede Menge Links und Doks zu verschiedenen Terrain-Optimierungstechniken.
Besonders die dazugehörige Hautpseite <a href='http://www.vterrain.org' target='_blank'>http://www.vterrain.org</a> ist ein sehr guter Anlaufpunkt für alle die was im Bereich Outdoor-Rendering machen wollen und noch Links bzw. Dokumente dazu suchen!
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Ich habe da mal ein recht nettes demo zu gefunden.
In dieser Engine wird LOD, GeoMorphing und Frustum Culling verwendet. Alles ohne einen Quadtree oder Octree.
Und auch bei höherem Detail läuft es auf einer alten Graka (tnt 2) noch sau gut.
<a href='http://chat.carleton.ca/~eszoka/tstriplod/tstrip.htm' target='_blank'>http://chat.carleton.ca/~eszoka/tstriplod/tstrip.htm</a>
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Das Demo war mir schon bekannt, und ist auch nicht schlecht gemacht.
Für den Diamond-Alogrithmus (der auch nicht schlecht zu sein scheint) gibts unter <a href='http://www.cs.sun.ac.za/~henri/terrain.html' target='_blank'>http://www.cs.sun.ac.za/~henri/terrain.html</a> übrigens eine gute Dokumentation und sogar Delphi-Quellcode (ist zwar DX, dürfte aber wohl kaum Probs machen das nach OGL zu portieren).
BTW : Auf der Page gibts unter <a href='http://www.cs.sun.ac.za/~henri/advgfx.html' target='_blank'>http://www.cs.sun.ac.za/~henri/advgfx.html</a> einige sehr gute Terrainalgo-Implementationen inklusive Quellcode in Delphi (via DX), einer Beschreibung und Auflistung ihrer Vor/Nachteile.
Mitglieder in diesem Forum: Google [Bot] und 7 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.