Geometry Textures Rodrigo de Toledo, ( PhD candidate at LORIA-INRIA) (Researcher at Tecgraf,...
-
Upload
preston-leonard -
Category
Documents
-
view
215 -
download
0
Transcript of Geometry Textures Rodrigo de Toledo, ( PhD candidate at LORIA-INRIA) (Researcher at Tecgraf,...
Geometry Textures
Rodrigo de Toledo,(PhD candidate at LORIA-INRIA)(Researcher at Tecgraf, PUC-Rio)
Bin Wang and Bruno Levy
Geometry Textures• Geometry Texture is a patch of surface• A set of GT is used to represent/render an entire object• Representation is based on height maps• Rendering is based on GPU ray casting
Motivation• In highly detailed meshes, small triangles represent
mesostructures
• Maybe it is better to render these mesostructres using a more appropriate representation
• Main idea: to use mesoscale rendering algorithms for macroscale visualization
Summary• Motivation
• Scale level classification
• Mesoscale
• GPU ray-casting of height maps
• Conversion
• Visualizing
• Results
Visualization algorithmsgrouped into scale levels
Scene-scale
Macroscale Microscale
Mesoscale
• z-buffer• ray tracing• spatial subdivision• culling
• object representation• shading• LOD• impostors
• (between macro and micro)• textures• mesostructures
• complex lighting models• photon mapping• BSSRDF
Mesoscale
• Mesostructure representation
– Color map
– Normal map (bump)
– Height map
– Volumetric mesostructure
– Shading function (BRDF)
Mesostructure visualization
• Expected rendering effects– – – – –
MesoscaleMesoscalemethods
Summary• Motivation
• Scale level classification
• Mesoscale
• GPU ray-casting of height maps
• Conversion
• Visualizing
• Results
Height-map GPU ray casting
hm(x,y)
missing a sample if is big
ray path sampled N timesP0
P1
P2
Pi
Pi-1
v
Linear search Binary search
Pi
Pi-1
P'i
second searching step
BinRayCasting(){ for 1..M { Δ Δ / 2 Δ z(P) ? -Δ : Δ P P + Δ’ }}
Height-map GPU ray casting• Silhouette, self-occlusion and self-shadow
6666 85857070 5555
Top viewTop viewBalance: more Balance: more
speedspeed
Profile viewProfile viewBalance: more Balance: more qualityquality
[Policarpo and Oliveira 2005]
• Balance between steps
It can be used to mesoscale visualization
But, we propose to use it for macroscale visualization:Geometry Textures
Height-map GPU ray casting
Geometry Textures• Parallel hexahedron with height map in its interior• Each one has its own orientation• HM domain is not restricted to a perfect rectangle
Previous work on multiple height maps:• Relief Texture Mapping [OB00]• Rendering Geometry with Relief Texture [BD06]• Real-time VDM using per-pixel visibility [PDG05]
Summary• Motivation
• Scale level classification
• Mesoscale
• GPU ray-casting of height maps
• Conversion
• Visualizing
• Results
Conversion overviewMesh Partioning Bounding-box Maps extraction
Partioning
Overlapping
Verifyfolding
z definition(normal median)
x, y definition(PCA analysis)
bbox domain in 3D
color,normal,heightmaps extraction
maps dilation
Geometry Texture set
mesh
Partitioning
• The most complex step in conversion
• Each part should not present any folding (no overhang)
• Domain as square as possible
[Steiner et al. 04]
Partitioning strategies
PGP
VSAMethod Domain
filling (%)InitialCharts
FoldingCharts
PGP 77.44% 403 62
VSA 53.75% 397 6[Ray et al. 05]
Summary• Motivation
• Scale level classification
• Mesoscale
• GPU ray-casting of height maps
• Conversion
• Visualizing
• Results
Geometry Texture Results
Using dragon example to test:(1.2 million triangles)
• Rendering quality• Rendering speed• Pre-processing performance• Memory space
mesh51222562
Geometry Texture Results(rendering quality)
mesh 5122
2562 1282
2562 is the best option 1282
Geometry Texture Results(rendering quality)
Seamless reconstruction due to overlapping + z-buffer
• GT should respect z-buffer rules:– Compute depth + test + update z-buffer
• Z-fight(for the same color)
Geometry Texture Results(rendering performance)
• 2562 GeoTex is faster than mesh for screen-size smaller than 800x600
GeForce 8800
Geometry Texture Results(pre-processing and memory)
• Original Dragon: 13.3 MB• From quality point of view: 2562 is good• If memory is a problem: 1282
Video
Conclusion• Positive aspects:
– Rendering speed follows a LOD behavior.– It can be used with other polygonal objects in scene (z-buffer).– Memory reduction is possible without losing too much information.
• Drawbacks:– Too much complex conversion algorithm.
• Especially the partitioning step (which is considerably elaborate).• We suggest the use of multilayer height maps (FW).
– It is hard to battle VBO speed in recent graphics cards.• We should test GT with more complex models (such as David).• If multiple models on the screen at the same time, GT can battle VBO.
[PDG05]
Future work
• Image operations on geometry textures
• Multilayer height maps– Sequence of height maps for the entire object– Layers forming a CSG representation
Thank you
Questions?