190 likes | 266 Views
Graphics Interface 2009. The-Kiet Lu Kok-Lim Low Jianmin Zheng. Rendering high-detail surface (>100M points) is inefficient when vertices are independently processed one-by-one in real-time Redundant processing Occlusion LOD # of pixels vs. # of vertices
E N D
Graphics Interface 2009 The-Kiet LuKok-Lim LowJianmin Zheng
Rendering high-detail surface (>100M points) is inefficient when vertices are independently processed one-by-one in real-time • Redundant processing • Occlusion • LOD • # of pixels vs. # of vertices • 1024x1024 pixels vs. 368 millions points • Memory size • 1 vertex requires > 6 bytes (un-compressed) • St. Mathew (368 M) > 2Gbs • Simplification – slow • Requires surface reconstruction first
Hybrid approach • Object-space and screen-space solution • Display 3D models by per-pixel ray-casting a set of 2D height fields (displacement mapping)
1) 2D Height Field Construction • Decompose points using octree • Generate height field maps • Generate height field bounding boxes • 2) Height Field Rendering • Rasterize bounding box. • For each fragment rasterized: • Transform viewing ray to height field map coordinate space • Ray-casting — compute ray-surface intersection.
Decompose points using an octree so that each cell contains points forming a valid height field
Using PCA to determine Height Field domain plane. Height Field map is generated as displaced distance between the Surface and the PCA plane.
The faces of the octree cells that bounds the height filed surface are added into Vertex buffer with appropriately assigned texture coordinates.
Each fragment, the viewing ray is transformed from world coordinate frame into locals of the corresponding 2D height map.
Ray-casting — compute ray-surface intersection v Xi = Xi-1 + v x ∆h • We compute intersection by marching along the viewing ray from initial location to the closet point above the Height Field map. • Culling Test: • A simple Texture coordinate check to ensure the ray indeed intersects the current height map – not the neigh borings.
Advantage of our approach • Hybrid approach • Optimize • Automatic Screen-space occlusion culling • Back Face culling • Early Z-culling • Memory consumption • 6 bytes vertex vs. 8-bit depth buffer • Texture compression • Limitation • Performance subjects to screen resolution
Advantage of our approach A main advantage of our method is its simplicity in dealing with silhouettes correctly.
Ray-casting — compute ray-surface intersection 1 iterations 4 iterations 8 iterations
Comparison: point-based Mar2007 : 60M per second – our method results with 368M (St. Mathew) with 12 Fps on GeForce Go 7900 GPU - Intel Core 2 Duo 2.4 GHz..
We have presented a new approach for fast visualization of highly detail 3D models by decomposition 3D model into Height Fields and render these Height Fields using image-space ray-casting algorithm that offers significant performance improvement compared to previous point-based approach. Our current limitation is that it is not efficient for flat and smooth surfaces as well as not applicable for dynamic or deformable surfaces – our current research topic.