Can now select a region of the map and it only draws that bit and at higher sample...
[tecorrec.git] / NOTES
blobcfbef00d1adc788ba212b5f1c175a25d72e12086
1 Efficient rendering of terrain elevation model
3 start with some top level cells
5 Thursday 20th Nov
6   terrain elev (errors)
7     naive interpolation
8   evaltuation
9     views from google earth
10     qualitative
11   image data + info viewing / illumination
12     >1? - resampling
13   resampling together
15 todo
16 [ ] seems - not important
17 [O] proper texturing
18     [ ] selection of channels to display
19 [ ] more sensible sampling of elevation data
20     [ ] edges of box should interpolate
21     [ ] inner vertices should be sensible
22 [ ] srtm
23     [ ] correction
24     [X] gui to toggle {flat, unprocessed, corrected -> refined}
25 [ ] interaction
26     [X] focus extended altitude
27     [X] mouse click -> lon lat transformation
28     [ ] terrain grab while dragging
29     [X] selection of region
30     [ ] region image preview (full resolution)
31 [ ] shadow detection
32     [ ] in region, detect shadow areas
33     [ ] border and highlight in both views
35 texturing
36   problems
37     textures are BIG
38       8401 x 7461 - 63MB  x6
39       4201 x 3731 - 16MB  x2
40       16801 x 14921 - 250MB x1
41       660MB
42   solution
43     downsample entire image to a reasonable size
44       1/8 x 1/8 = 1/64th size = ~10MB
45       or use the thumbnail in each image
46     when a portion of the image is desired in higher detail
47       reload portion of the image at full resolution
48       1/8 x 1/8 = 1/64th size of image
49     when a portion of the image is no longer being used
50       discard of it
52   class tcBigImage
53     width, height
54     thumbnail texture
55     rows, cols
56     cells[rows][cols]
57       texture
58       image data
60 renderCell
61   determine if we need to subdivide quality in this cell
62     if we're close, then we do
63     find distance from each corner 
64     use distance[i] < max(dist(corner[i], corner[j]))*factor
65   if we should subdivide
66     renderCell on each of the 4 subdivisions
67   determine the quality at this level
68     find distance to center
69     apply magic function to find detail level
70     render the cell in this detail level