20
Terrain Rendering Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

Embed Size (px)

Citation preview

Page 1: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

Terrain RenderingUniversität zu Köln

WS 2014/15HKI – Softwaretechnologie 2 (Teil 1)

Von Tilo Kochs

Page 2: 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

Repräsentierung eines Terrains

Page 3: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs
Page 4: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

Problematik: Gitter aus Dreiecken erzeugen Viele Dreiecke = lange Renderzeit Wenige Dreiecke = unschön

Lösung: Unterteilung durch Quadtree mit rekursiven Algorithmus

Unterteilung des Terrains

Page 5: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs
Page 6: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

Jedes Viereck aus 2 Dreiecken -> Problem des sogenannten cracking

Erzeugen der Dreiecke

Page 7: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

Jedes große Viereck, welches an kleineren grenzt wird in mehreren Dreiecken unterteilt

Lösung des cracking-Problemes

Page 8: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

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

Terrain - Rückruffunktion

Page 9: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

Statische Terrians können durch gewöhnliche Textur-MIP-Maps dargestellt werden

Erzeugung von verschiedenen Versionen von Terrianblöcken (unterschiedliche Detailstufen)

Geo – MIP- Mapping

Page 10: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

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

Color-Map und Detail-Map

Page 11: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs
Page 12: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs
Page 13: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

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

Splatting

Page 14: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs
Page 15: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs
Page 16: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

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

Volumentexturen

Page 17: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

Berechnung statischer Beleuchtung

Light-Map (Berechnung durch Ray-Tracing)

Beleuchtung auf Basis eines Normalenverktors

Normal-Map

Beleuchtung

Page 18: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

Light-Map

Page 19: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

Normal-Map

Page 20: Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs

Vorsorglich implementiert, da noch keine eigene Terrain-Klasse vorhanden

Vereint die meistern der besprochenen Aspekte in einem Tool

Der TerrainEditor