Rendering Geometry with Relief Textures - PowerPoint PPT Presentation

1 / 52
About This Presentation
Title:

Rendering Geometry with Relief Textures

Description:

Bump. Small objects. 6. How to render? Polygonalize. Simple ... Use it for bump. Policarpo05. Tatarchuk06. 17. Being exact, what for? Intellectually rewarding ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 53
Provided by: artis9
Category:

less

Transcript and Presenter's Notes

Title: Rendering Geometry with Relief Textures


1
Rendering Geometry withRelief Textures
  • L.Baboud X.Décoret
  • ARTIS-GRAVIR/IMAG-INRIA

2
Height-field representation
  • What can we represent?
  • How to render it?
  • Fast ?
  • Exact?
  • Previous work
  • Our contributions

3
Height-field
  • Function from 0,12 to 0,1
  • Represents a surface
  • Sampled in a texture
  • Memory/GPU efficient

(a) Height texture
(b) Reconstructed surface
4
Height-field
  • Function from 0,12 to 0,1
  • Represents a surface
  • Sampled in a texture
  • Memory/GPU efficient

(a) nearest
  • Theory How do you reconstruct?
  • Practice Which interpolation for texture
    lookups?

(b) linear
Refer to the paper for details
5
How to render?
  • Polygonalize
  • Simple natural
  • Costly, not output sensitive
  • Aliasing -gt LOD

Small coverage
  • What if the object is not the main one?
  • Bump
  • Small objects

Large coverage
6
How to render?
  • Polygonalize
  • Simple natural
  • Costly, not output sensitive
  • Aliasing -gt LOD
  • Ray-tracing
  • Slow? Feasible on GPU!
  • Output sensitive

7
Ray-tracing
  • Existing solution VDM Wang 2003
  • Sampling in all viewing directions
  • Memory costly (4 Mb compressed for 128x128)
  • Use GPU capabilities instead

8
Principle (1/2)
Top view
2D slice
9
Principle (2/2)
  • Comparing heights
  • Along ray
  • In the heightfield
  • Until we pass below

10
Policarpo I3D 05
Binary search
How many iterations?
Is it correct?
11
Policarpo I3D 05
12
Policarpo I3D 05
Fixed size steps
Binary search
Better but still potentially false
13
Policarpo I3D 05
Fixed size steps
Binary search
Missed intersection
Amounts to vertical slicing
Size of steps along the ray depends on ray tilt
14
Policarpo I3D 05
15
Tatarchuk I3D06
  • Varying size steps (between two bounds)
  • Depending on ray tilt

16
Conclusion on existing methods
  • Advantages speed
  • Drawbacks missed intersections (at grazing
    angles)

Policarpo05
Tatarchuk06
17
Being exact, what for?
  • Intellectually rewarding ?
  • Usability large scale geometry
  • Terrain, buildings, architectural details
  • Objects (cars, etc.)

How many polygons ?
18
Being exact, what for?
  • Intellectually rewarding ?
  • Usability large scale geometry
  • Terrain, buildings, architectural details
  • Objects (cars, etc.)

Only 6 quads !
19
Being exact, is it hard?
  • Problem with constant steps
  • Can always miss intersections

20
Being exact, is it hard?
  • Problem with constant steps
  • Can always miss intersections
  • Travel slowly above empty space

21
Being exact, is it hard?
  • Problem with constant steps
  • Can always miss intersections
  • Travel slowly above empty space
  • Our contributions
  • Amanatides based approach
  • Failsafe approach
  • But requires preprocess

solves
22
Adapted Amanatides traversal
  • We run along the ray on texel edges

23
Adapted Amanatides traversal
  • We run along the ray on texel edges
  • Advantages
  • very simple iterations
  • exact intersection

fragment shader main loop
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
Adapted Amanatides traversal
  • Texture resolution dependent
  • Double resolution ? half speed
  • Ideally should depend on variations of
    heightfield, not sampling frequency
  • Binary search doesnt have this drawback
  • Constant number of texture lookups

26
Analysis of binary search
  • At the moment we pass below
  • At least one intersection
  • But potentially several

?
2D slice
27
Analysis of binary search
  • At the moment we pass below
  • At least one intersection
  • But potentially several
  • Ideally at most one intersection

?
2D slice
How can we guarantee this?
Precompute safety radius
28
What is safety radius ?
  • Local information

Which step ?
T
Precomputed radius
?
For any possible viewing ray passing above T
Top view
29
What is safety radius ?
  • Local information

Viewing direction
30
What is safety radius ?
  • Local information
  • In 3D for each texel
  • Scan every direction
  • Keep the minimum radius

31
Failsafe binary search
32
Failsafe binary search
33
Failsafe binary search
34
Failsafe binary search
35
Failsafe binary search
36
Failsafe binary search
37
Failsafe binary search
38
Failsafe binary search
39
Failsafe binary search
40
Failsafe binary search
41
Various details
  • Textures
  • Can have different resolutions
  • Normal, color, height
  • Can be packed/compressed
  • Needs recent fragment shaders supporting dynamic
    loops

42
Results
  • Fast and exact
  • Height-field regularity dependent
  • Correct interaction with Z-buffer
  • Output sensitive

43
Height-field representation
  • What can we represent?
  • How to render it?
  • Fast ?
  • Exact?
  • Previous work
  • Our contributions

44
More than bump
  • Previous methods small scale bump
  • Curved surfaces warping considerations
  • VDM Wang 03
  • Policarpo05
  • We want to do large scale
  • Problem limited expressiveness
  • orthogonal height-fields

45
Expressiveness of heightfields
  • Lack of samples on vertical sides

46
Projective height-fields
47
Projective height-fields
  • Similar to cubist images Hanson 98
  • Projective transforms preserve lines
  • Unmodified algorithm

48
Projective height-fields
  • Wasted fillrate
  • Many eventually discarded fragments
  • Easy to solve clip the bounding box

(a) not clipped
(b) clipped
49
Multiple height-fields
50
Conclusion
  • Remember fast and exact is possible!
  • Efficient representation
  • Small memory footprint
  • Automatic LOD
  • Two useful methods (dynamic/static)

51
Future
  • Geometry representable with heightfields
  • Because we are exact
  • Model directly with heightfields
  • Photoshop 3D Mok01
  • Apply to judicious situations

52
Future
  • Thank you!
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com