PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Landschaftsdarstellung!?


BluescreenXP
2004-03-08, 10:48:02
Hi Leute,
Ich hab da so ein Problem!

Ich habe mir von gametutorials.com das Tut zum Thema Heightmaps reingezogen und nach geprogt! Funtz auch alles echt super so lange ich die .raw Datei lade, die dabei ist!
Wenn ich eine selber erzeuge in Milkshape und diese nach .raw exportiere läd er nur mist!(Komische Landschaftsformen und nicht das was ich erstellt hab).

Wo könnte das Problem liegen? Gibt es unterschiedliche speicher methoden bei .raw dateien?

Was gibt es sonst noch für Techniken um Landschaften darzustellen/erzeugen?

Matti
2004-03-08, 11:48:09
RAW ist kein standardisiertes Format

tokugawa
2004-03-11, 11:21:06
Original geschrieben von BluescreenXP
Hi Leute,
Ich hab da so ein Problem!

Ich habe mir von gametutorials.com das Tut zum Thema Heightmaps reingezogen und nach geprogt! Funtz auch alles echt super so lange ich die .raw Datei lade, die dabei ist!
Wenn ich eine selber erzeuge in Milkshape und diese nach .raw exportiere läd er nur mist!(Komische Landschaftsformen und nicht das was ich erstellt hab).

Wo könnte das Problem liegen? Gibt es unterschiedliche speicher methoden bei .raw dateien?

Was gibt es sonst noch für Techniken um Landschaften darzustellen/erzeugen?

Es gibt ziemlich viele. Ich kann mich nur mehr dunkel an das von Game-Tutorials erinnern, aber ich glaub das verwendet ja Quad-Trees zur Speicherung und zum Frustum-Culling, oder?

Frustum-Culling "cullt" die Bereiche aus, die außerhalb des Kamera-"Pyramidenstumpfes" liegen, d.h. was nicht sichtbar ist, wird nicht an die Grafikkarte geschickt.

Mit Quadtrees (Bäume wo jeder Knoten bis zu vier Kinder hat) kannst du große Bereiche schnell weg-cullen, denn wenn ein Quadtree-Knoten außerhalb des Frustum liegt, liegen auch alle Kinder außerhalb, und man kann den Tree-Traversal für diesen Branch abbrechen.

Alternativ gibt's auch Octrees, die haben dann allerdings noch einen höheren Speicheraufwand und bringen's bei eher "flächenartigen" Sachen wie Terrain wohl eher nicht.


Weiters gibt's eine ganze Menge von Heightfield-basierten Level-of-Detail-Algorithmen, mit denen man die Details bei entferntererem Terrain reduzieren kann (adaptive Tesselation). Gemein ist allen, dass sie versuchen (müssen), T-Junctions (auch T-Vertizes genannt, das sind Stellen wo die Polygonedges ein "T" bilden, also entlang einer Edge ein Vertex liegt. Kann zu Löchern im Terrain führen) zu verhindern, also bei einem Vertex-Collapse oder Edge-Split zu schauen dass das Nachbarpolygon an dieser Stelle auch einen Vertex dazubekommt oder diesen auch collapst. Ein weitverbreiteter dynamischer-LOD-Algorithmus wäre ROAM (Realtime Optimally Adapting Meshes). Bei LOD-Algorithmen kann es allerdings zu "Geometrie-Popping" kommen wenn man sich über's Terrain bewegt (und dabei plötzlich ein Terrainteil in eine höhere oder niedrigere Detailstufe kommt, sieht man das "Poppen"). Dagegen helfen diverse sogenannte "Geomorphing" Techniken, die dieses Poppen reduzieren, indem "fließender" zwischen Detailstufen umgeschaltet wird (etwa indem man einen Split-Vertex allmählich in die richtige Position bringt).