Presentation is loading. Please wait.

Presentation is loading. Please wait.

Normal Mapping for Surfel-Based Rendering

Similar presentations


Presentation on theme: "Normal Mapping for Surfel-Based Rendering"— Presentation transcript:

1 Normal Mapping for Surfel-Based Rendering
Mathias Holst Heidrun Schuman WSCG‘07 Plzen • Czech Republic University of Rostock

2 Outline Introduction Related Work Shaping and Splatting Surfels
Texturing Surfels Normal Map Estimation Silhouette Refined Rendering Conclusion and Outlook

3 Introduction Surfel Rendering
Surfels (from surface element) are points parametrized with a normal and a radius describe circular discs in 3D (≈ellipse in image space) set of surfels can be used to approximate 3D surface

4 Introduction Surfel Rendering (2)
LOD using point trees easy to obtain using subdivision schemes (nearest neighbor, octree)

5 Introduction Surfel Rendering (3)
Benefits: effective description of all static 3D surfaces easy to create various LOD using simplification schemes Drawbacks: only efficient for objects with many features not efficient for low tesselated models Our approach: Increase benefit of large surfels using normal mapping result: surface approximation with much fewer surfels important: surfel size approximation for image space as accurate as possible to prevent unrealistic texture scaling

6 Surfel Splatting Sizing
Surfels are rendered as view-plane aligned squares Sizing by ellipse approximation:

7 Surfel Splatting Shaping
Shaping by using alpha mask Graphics card computes texture coordinate (tx, ty)  [1,-1]2 for each pixel/fragment Use eye-space normal and texture coordiante to get z-offset of pixel: if ||t|| > 1, pixel do not belong to surfel ellipse area ||t|| can be used to calculate alpha value using Gaussian: α = G(||t||)

8 Normal Mapping t not sufficiant for texturing
Need additional parameter: rotation around normal to orient texture texture position and size in texture atlas Additional orientation vectors:

9 Normal Mapping Surfel Space Texture Coordiante
S=(o1 o2 n) maps point from surfel space to object space S' = MS defines mapping from surfel space to eye-space transform t back to surfel-space by t'=S'-1t t'[1,-1]2 Map t' to texture atlas:

10 Normal Mapping Example

11 Normal Map Estimation Raycasting Approach
1. rasterize surfel using ist texture size 2. shoot ray aligned with normal for each texel 3. get leaf surfels that ray intersects (consider only leaf surfels which bounding spheres intersect BS of rasterized surfel 4. get weighted average to get texel normal (weight according gaussian alpha value)

12 Normal Map Estimation Example

13 Silhouette Refinement
Problem of normal mapping: coarse silhouette Solution: silhouette refinement exact global silhouette slow to compute use contour estimation using normal cones instead

14 Rendering use radii limitation for silhouette (rsil) and non-silhouette surfels (rinner) extension of QSplat algorithm rinner =ws Igea example (rsil =2px) ws Mem surfels fps* 250k 20 2 0.34 MB 17 4 1.36 MB 119k 37 8 5.44 MB 70k 59 16 21.76 MB 49k 85 * can be fastened using sequential point trees

15 Demo start video

16 Conclusion normal mapping can be used to increase efficiency of surfel-based surface approximations should be combined with silhouette refinement to increase image quality can easily be integrated in existing point splatting frameworks Future Work: Decrease texture memory 1. find similar textures 2. find textures that can be tiled

17 Thank you for your attention!
Questions?


Download ppt "Normal Mapping for Surfel-Based Rendering"

Similar presentations


Ads by Google