Changes between Version 3 and Version 4 of TheoriesOfTerrainDeformation
- Timestamp:
- Dec 7, 2010, 9:34:05 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TheoriesOfTerrainDeformation
v3 v4 7 7 1. Pseudoloaders welcher die Datenbank modifikationen beim Laden macht, 8 8 so dass der gesamte Compilevorgang noch im Pagerthread stattfindet. -> Implementierung aufwändig, flexibel, langsam aber keine Framedrops 9 1. use osgEarth. Runtime modification is not possible, but each run of osgVisual could have other sets and other displacements.9 1. Use osgEarth. Runtime modification is not possible, but each run of osgVisual could have other setups and other displacements. 10 10 11 11 12 12 == Modifying terrain using a custom terrainTechnique == 13 1. TilesLoadedCallback: Muss bei VPB Datenbanken < 2.9.10 verwendet werden, da hier die DB die geometryTechnique enthält und daher terrain->terrainTechniquePrototype ignoriert.14 1. Custo nGeometryTechniquePrototype: Kann bei VPB Datenbanken >= 2.9.10 verwendet werden, da hier in die DB keine geometryTechnique enthältund daher terrain->terrainTechniquePrototype verwendet.13 1. tilesLoadedCallback: Muss bei VPB Datenbanken < 2.9.10 verwendet werden, da hier die DB die geometryTechnique enthält und daher terrain->terrainTechniquePrototype ignoriert. 14 1. Custom geometryTechniquePrototype: Kann bei VPB Datenbanken >= 2.9.10 verwendet werden, da hier in die DB keine geometryTechnique enthältund daher terrain->terrainTechniquePrototype verwendet. 15 15 16 16 == Modifying terrain patching a VPB database persistent == 17 1. VPb's --patch Funktion nutzen. Die Paches müssen eine höhere Auflösung als das Orginal haben. ESRI .arc Files erzeugen mittels Algorithmus und dann patchen.17 1. Use VPB's --patch function. The patches must have a higher resolution than the database to patch. todo: Create algorithm t calculate displacement and create ESRI .arc files. 18 18 19 Vorgehen c): Bei Subdatenbanken: TBD 20 Vorgehen d): Bei Pseudo-Loader: TBD 19 20 == Modifying terrain by creating patched database in alternative subtiles of the database == 21 TBD 22 23 == Modifying terrain by using pseudo loaders == 24 TBD 25 26 == Modifying terrain by using osgEarth == 27 TBD 21 28 22 29 23 30 31 = Approaches to modify terrainTile heightfield = 32 1. vor dem init() Call das Heightfield modifizieren 33 1. init() überladen und in init die modifikationen durchführen, bevor generateGeometry() aufgerufen wird. 24 34 25 Grundsätzliche Optionen für Heightfieldmodifikationen: 26 a) vor dem init() Call das Heightfield modifizieren 27 b) init() überladen und in init die modifikationen durchführen, bevor generateGeometry() aufgerufen wird. 28 29 Vorgehen für das Ermitteln der korrekten Heightwerte: 30 1. checken ob Tile betroffen ( xmin < x < xmax && ymin < y < ymax ) oder ( latmin < lat < latmax && lonmin < lon < lonmax ) 31 2. Wenn Betroffen, je vertex reihe/spalte checken ob sie im bereich liegt 32 3. Wenn im Bereich: modifizieren der Werte 35 == Calculating the new height values = 36 1. checken ob Tile betroffen ( xmin < x < xmax && ymin < y < ymax ) oder ( latmin < lat < latmax && lonmin < lon < lonmax ) 37 1. Wenn Betroffen, je vertex reihe/spalte checken ob sie im bereich liegt 38 1. Wenn im Bereich: modifizieren der Werte 33 39 I) Bei Verwendung eines Patch-Bildes: Auslesen des Images je Spalte, interpolieren der Werte auf Tile-Bereich und Vertexanzahl und addieren/ersetzen der ursprünglichen Werte. 34 40 II) Bei Verwendung einer mathematischen funktion: Berechnen des Additions-/Zielwertes je vertex und addieren/ersetzen des ursprünglichen Wertes.