source: experimental/TerrainTest/imageconversion.txt @ 172

Last change on this file since 172 was 172, checked in by Torben Dannhauer, 13 years ago
File size: 2.6 KB
Line 
1
2
3
4Vorgehen zum modifizieren von Geländekacheln:
5a) Implementieren einer eigen TerrainTechnique und Modifikation zur Laufzeit    -> Flexibel aber evtl langsam
6b) Dauerhaftes Patchen der Orginaldatenbank                                     -> Keine Verzögerung, Patching nicht reversibel, unflexibel
7c) Erzeugen von sub-datenbanken mit gepatchen bereichen, Verzweigen auf die
8        alternative Sub-datenbank zur Laufzeit
9        (im loadingcallback lediglich ein lookup Table)                         -> Implementierung aufwändig, rel. schnell, Prefetching notwendig zum Erstellen der gepatchten Subdatenbanken
10d) Pseudoloaders welcher die Datenbank modifikationen beim Laden macht,
11        so dass der gesamte Compilevorgang noch im Pagerthread stattfindet.     -> Implementierung aufwändig, flexibel, langsam aber keine Framedrops
12
13Vorgehen bei Nutzung einer eigenen GeometryTechnique:
14a) TilesLoadedCallback: Muss bei VPB Datenbanken < 2.9.10 verwendet werden, da hier die DB die geometryTechnique enthält und daher terrain->terrainTechniquePrototype ignoriert.
15b) CustonGeometryTechniquePrototype: Kann bei VPB Datenbanken >= 2.9.10 verwendet werden, da hier in die DB keine geometryTechnique enthältund daher terrain->terrainTEchniquePrototype verwendet.
16
17
18Grundsätzliche Optionen für Heightfieldmodifikationen:
19a) vor dem init() Call das Heightfield modifizieren
20b) init() überladen und in init die modifikationen durchführen, bevor generateGeometry() aufgerufen wird.
21
22Vorgehen für das ermitteln der korrekten Heightwerte:
231. checken ob Tile betroffen ( xmin < x < xmax && ymin < y < ymax ) oder ( latmin < lat < latmax && lonmin < lon < lonmax )
242. Wenn Betroffen, je vertex reihe/spalte checken ob sie im bereich liegt
253. Wenn im Bereich: modifizieren der Werte
26        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.
27        II) Bei Verwendung einer Mathematischen funktion: Berechnen des Additions-/Zielwertes je vertex und addieren/ersetzen des ursprünglichen Wertes.
28                Eingabewert in Algorithmus: Lat/Lon der 4 Tile-Ecken. Algorithmus kan für lat lon in der Tile linear interpolieren zu den Ecken.
29
30
31
32
33grundsätzliche Optionen für Löcher:
34a) generateGeometry umbauen, so dass es keine Oberfläche und keinen Skirt an den Stellen bildet.
35b) einene weiteren layer einbauen der pro vertex entscheided ob der Vertex gerendert wird oder nicht (todo: switchlayer ansehen, evtl ist dass ja schon sowas)
36c) alpha in der textur aktuivieren für stellen die Löcher haben sollen und blenden lassen ( todo: wird zFightfing vermieden wenn einer der partner transparent ist?)
Note: See TracBrowser for help on using the repository browser.