Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs
Terrain = große Ebene Speichern in 2-dimensionaler Height-Map -> zeigt die Höhe des Terrains an Wobei: Schwarz= geringste Höhe Weiß = größte Höhe
Problematik: Gitter aus Dreiecken erzeugen Viele Dreiecke = lange Renderzeit Wenige Dreiecke = unschön Lösung: Unterteilung durch Quadtree mit rekursiven Algorithmus
Jedes Viereck aus 2 Dreiecken -> Problem des sogenannten cracking
Jedes große Viereck, welches an kleineren grenzt wird in mehreren Dreiecken unterteilt
Komplettt dynamische Gestaltung eines Terrains Die Funktion liefert: - die Höhe oder den kompletten 3D-Vektor an jeden Punkt des Terrains - den Normalenvektor - Texturkoordinaten - Die Farbe des Terrains am jeweiligen Punkt
Statische Terrians können durch gewöhnliche Textur-MIP-Maps dargestellt werden Erzeugung von verschiedenen Versionen von Terrianblöcken (unterschiedliche Detailstufen)
Texturierung Color-Map wird über das gesamte Terrain gelegt (Ohne Kachelung) Details-Map (mit Rauschen) wird über das gesamte Terrain, mehrfach gekachelt, gelegt Diese Kombi = Multitexturing
Verschiedene Layer des Terrains liegen als einzelne Texturen vor Das Terrain wir in meherer Schichten aufgeteilt Man interpoliert zwischen 2 Texturen Vorteil: Terrain kann einzigartig gestaltet werden
Jede „Scheibe“ der Volumentextur entspricht eine anderen Höhenschicht W-Achse entspricht der Höhe, also der y- Koordinate des Terrains Großer Vorteil: es sind keine Vorberechnungen nötig Nachteil: viele Grafikkarten unterstützen keine Volumentexturen
Berechnung statischer Beleuchtung Light-Map (Berechnung durch Ray-Tracing) Beleuchtung auf Basis eines Normalenverktors Normal-Map
Vorsorglich implementiert, da noch keine eigene Terrain-Klasse vorhanden Vereint die meistern der besprochenen Aspekte in einem Tool