Download presentation
Presentation is loading. Please wait.
Published byClifton Harrison Modified over 9 years ago
1
1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA
2
2 Height-field representation What can we represent? What can we represent? How to render it? How to render it? Fast ? Fast ? Exact? Exact? Previous work Previous work Our contributions Our contributions
3
3 Height-field Function from [0,1] 2 to [0,1] Represents a surface Sampled in a texture Memory/GPU efficient (a) Height texture (b) Reconstructed surface
4
4 Height-field Function from [0,1] 2 to [0,1] Represents a surface Sampled in a texture Memory/GPU efficient Theory: How do you reconstruct? Practice: Which interpolation for texture lookups? Refer to the paper for details (a) nearest (b) linear
5
5 How to render? Polygonalize Polygonalize Simple & natural Simple & natural Costly, not output sensitive Costly, not output sensitive Aliasing -> LOD Aliasing -> LOD Small coverage Large coverage What if the object is not the “main” one? Bump Small objects
6
6 How to render? Polygonalize Polygonalize Simple & natural Simple & natural Costly, not output sensitive Costly, not output sensitive Aliasing -> LOD Aliasing -> LOD Ray-tracing Ray-tracing Slow? Feasible on GPU! Slow? Feasible on GPU! Output sensitive Output sensitive
7
7 Ray-tracing Existing solution : VDM [Wang 2003] Existing solution : VDM [Wang 2003] Sampling in all viewing directions Sampling in all viewing directions Memory costly (4 Mb compressed for 128x128) Memory costly (4 Mb compressed for 128x128) Use GPU capabilities instead Use GPU capabilities instead
8
8 Principle (1/2) Top view 2D slice
9
9 Principle (2/2) Comparing heights Comparing heights Along ray Along ray In the heightfield In the heightfield Until we pass below Until we pass below
10
10 Policarpo [I3D 05] How many iterations? Is it correct? Binary search
11
11 Policarpo [I3D 05] Missed intersection
12
12 Policarpo [I3D 05] Fixed size steps Binary search Better but still potentially false
13
13 Policarpo [I3D 05] Fixed size steps Binary search Amounts to vertical slicing Size of steps along the ray depends on ray tilt Missed intersection
14
14 Policarpo [I3D 05]
15
15 Tatarchuk [I3D06] Varying size steps (between two bounds) Depending on ray tilt
16
16 Conclusion on existing methods Advantages : speed Drawbacks: missed intersections (at grazing angles) Use it for bump Policarpo05Tatarchuk06
17
17 Being exact, what for? Intellectually rewarding Intellectually rewarding Usability large scale geometry Usability large scale geometry Terrain, buildings, architectural details Terrain, buildings, architectural details Objects (cars, etc.) Objects (cars, etc.) How many polygons ?
18
18 Being exact, what for? Intellectually rewarding Intellectually rewarding Usability large scale geometry Usability large scale geometry Terrain, buildings, architectural details Terrain, buildings, architectural details Objects (cars, etc.) Objects (cars, etc.) Only 6 quads !
19
19 Being exact, is it hard? Problem with constant steps Problem with constant steps Can always miss intersections Can always miss intersections
20
20 Being exact, is it hard? Problem with constant steps Problem with constant steps Can always miss intersections Can always miss intersections Travel slowly above empty space Travel slowly above empty space
21
21 Being exact, is it hard? Problem with constant steps Problem with constant steps Can always miss intersections Can always miss intersections Travel slowly above empty space Travel slowly above empty space Our contributions Our contributions Amanatides based approach Amanatides based approach Failsafe approach Failsafe approach But requires preprocess But requires preprocess solves
22
22 Adapted Amanatides traversal We run along the ray on texel edges
23
23 Adapted Amanatides traversal We run along the ray on texel edges Advantages : very simple iterations exact intersection fragment shader main loop
24
24 Adapted Amanatides traversal We run along the ray on texel edges Advantages : very simple iterations exact intersection Drawbacks : potentially many iterations texture resolution dependent
25
25 Adapted Amanatides traversal Texture resolution dependent Texture resolution dependent Double resolution half speed Double resolution half speed Ideally should depend on “variations” of heightfield, not sampling frequency Ideally should depend on “variations” of heightfield, not sampling frequency Binary search doesn’t have this drawback Binary search doesn’t have this drawback Constant number of texture lookups Constant number of texture lookups
26
26 Analysis of binary search At the moment we pass below At the moment we pass below At least one intersection At least one intersection But potentially several But potentially several ? 2D slice
27
27 Analysis of binary search At the moment we pass below At the moment we pass below At least one intersection At least one intersection But potentially several But potentially several Ideally : at most one intersection Ideally : at most one intersection How can we guarantee this? Precompute safety radius 2D slice ?
28
28 What is safety radius ? Local information Local information Top view T ? Which step ? For any possible viewing ray passing above T Precomputed radius
29
29 What is safety radius ? Local information Local information Safety radius Viewing direction considered texel
30
30 What is safety radius ? Local information Local information In 3D : for each texel : In 3D : for each texel : Scan every direction Scan every direction Keep the minimum radius Keep the minimum radius
31
31 Failsafe binary search
32
32 Failsafe binary search
33
33 Failsafe binary search
34
34 Failsafe binary search
35
35 Failsafe binary search
36
36 Failsafe binary search
37
37 Failsafe binary search
38
38 Failsafe binary search
39
39 Failsafe binary search
40
40 Failsafe binary search
41
41 Various details Textures Textures Can have different resolutions Can have different resolutions Normal, color, height Normal, color, height Can be packed/compressed Can be packed/compressed Needs recent fragment shaders supporting dynamic loops Needs recent fragment shaders supporting dynamic loops
42
42 Results Fast and exact Height-field regularity dependent Correct interaction with Z-buffer Correct interaction with Z-buffer Output sensitive Output sensitive
43
43 Height-field representation What can we represent? What can we represent? How to render it? How to render it? Fast ? Fast ? Exact? Exact? Previous work Previous work Our contributions Our contributions
44
44 More than bump Previous methods : small scale bump Previous methods : small scale bump Curved surfaces : warping considerations Curved surfaces : warping considerations VDM [Wang 03] VDM [Wang 03] [Policarpo05] [Policarpo05] We want to do large scale We want to do large scale Problem : limited expressiveness Problem : limited expressiveness orthogonal height-fields orthogonal height-fields
45
45 Expressiveness of heightfields Lack of samples on vertical sides Lack of samples on vertical sides
46
46 Projective height-fields
47
47 Projective height-fields Similar to “cubist images” [Hanson 98] Similar to “cubist images” [Hanson 98] Projective transforms preserve lines Projective transforms preserve lines Unmodified algorithm Unmodified algorithm
48
48 Projective height-fields Wasted fillrate Wasted fillrate Many eventually discarded fragments Many eventually discarded fragments Easy to solve : clip the bounding box Easy to solve : clip the bounding box (a) not clipped (b) clipped
49
49 Multiple height-fields
50
50 Conclusion Remember fast and exact is possible! Efficient representation Small memory footprint Automatic LOD Two useful methods (dynamic/static) Two useful methods (dynamic/static)
51
51 Future Geometry representable with heightfields Geometry representable with heightfields Because we are exact Because we are exact Model directly with heightfields Model directly with heightfields Photoshop 3D [Mok01] Photoshop 3D [Mok01] Apply to judicious situations Apply to judicious situations
52
52 Future Thank you! Thank you! Questions? Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.