Space Partitioning



  • Hi,

    mich würde mal interessieren, wie man Space Partitioning bei einer Weltall-Sim am besten realisiert. Hab auf flipcode gelesen, dass gängige Verfahren (zB mit Octrees) nicht sonderlich gut geeignet sind. Würde mich über entsprechende Tuts ebenfalls freuen.



  • Hmm, im Weltraum macht sowas ja auch nicht besonders viel Sinn.
    Da gibts ja nicht viel zum weg-cullen 😃
    Wenn man weit entfernte Objekte weg-cullt oder jedenfalls mit LOD arbeitet und dazu noch Frustrum-Culling verwendet sollte es reichen. (Die grundlegenden Sachen wie Backface-Culling dürfen nat auch nicht fehlen)
    Bei "X - Beyond the Frontier" z.B arbeiten die viel mit solchen Methoden.
    Weit entfernte Objekte werden erst ganz versteckt und dann nach und nach im mehr Details gezeigt (je nach Entfernung)



  • Stichwort LOD, ich hab ja nun mitbekommen, dass es verschiedenste LOD Techniken gibt, leider bin ich zu faul mich durch sämtliche technischen Dokus zu wühlen. :p Also meine Frage an die Profis: welche Erfahrungen habt ihr damit gemacht, was eignet sich besonders gut für Terrains? Meine Vorstellungen zwecks der Verwendung sind dabei:

    - dynamisches LOD
    - grosse Terrains
    - Terrainveränderungen (zB durch Explosionen etc)
    - wenn möglich, Nutzung spezieller Hardware Features

    Und welches LOD eignet sich für den Weltraum?


  • Mod

    für den weltraum eignen sich sprites sehr gut, wenn etwas weit weg ist z.B. ein raumschiff oder ein planet, dann zeichne ein sprite davon, das sprite (billboard) kannst du auch dynamisch generieren indem du das model alle zeitlang mal in eine textur renderst. das kann helfen tausende von objekten darzustellen!

    für terrain? 🙂 also du kannst 1mil polys bei 100fps auf einer neuen graka durchschieben, wann immer du also ein nicht super optimiertes verfahren fürs LOD verwenden wirst, wird das ganze langsammer. das wichtigste ist wohl ein gutes culling, aber wenn du wirklich optimieren möchtest, solltest du den verwendungszweck des terrains wissen, z.B. wenn man durchlaufen soll wie bei einem egoshooter, sollte man über Antiportale nachdenken. wenn du eine iso sicht haben möchtest, die man garnicht rotieren kann, kannst du im voraus die backfaces wegrechnen aus dem mesh.

    aber informieren wirste dich schon müssen, auf der nvidia seite ist ein netter artikel über LOD mit vertexshadern 🙂

    rapso->greets();


Anmelden zum Antworten