Registriert: Mi Aug 28, 2002 19:27 Beiträge: 568 Wohnort: Chemnitz / Sachsen
ich denke, wenn du die kameraposition und richtung hast, brauchst du doch nur schauen, ob die polys im sichtfeld sind, zur not einfach mit frustumculling (geht aber leichter in dem fall, komm nur derzeit nicht drauf [war seit 2 tagen nicht mehr mit ogl beschäftigt])
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Um Objekte (bzw. Polygone) die sich nicht im Sichtbereich des Betrachters befinden auszublenden, gibts es eine Technick namens Frustum Culling.Dabei wird geprüft, ob ein oder mehrere Punkte eines Objektes (z.B. die AABB eines Polygons) im Ansichtsfrustum liegen.Ist dies nicht der Fall, so ist dieses Objekt nicht sichtbar und muss auch nicht gezeichnet werden.Auf meiner HP gibts dazu auch ein Tut...
Für Heightmaps (bzw. Aussenlandschaften) ist es allerdings schlecht, alle Polygone zu prüfen, denn dadurch wird die Last von der GPU auf die CPU verschoben, was besonders bei modernen GPUs stark leistunshemmend ist.Hier sollte man seinen Raum in Quads unterteilen und nur diese gegen das Frustum prüfen und dann quasi komplette Teile des Terrains bei Nichtsichtbarkeit ausblenden. Dafür gibt es übrigens eine spezielle Raumunterteilungstechnk namens Octrees, bei der deine Aussenlandschaft in Quads geteilt wird, und diesen Quads dann Polygone zugewiesen werden...diese Quads werden dann noch mehrere Male unterteilt und gegen das Frustum geprüft. In unserer Tutorialsektion gibts dazu übrigens ein von Aya verfasstes Tutorial.
Durch Frustum Culling konnte ich die Geschwindigkeit mehr als vervierfachen . Das war genau das was ich gesucht habe. Bin gerade dabei noch ein Octrees System zu Coden. Nur irgendwie tue ich mich da mit der Abfrage wieviele Polygone in einem Würfel sind recht schwer
Mitglieder in diesem Forum: Google [Bot] und 3 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.