1 / 28

Real-Time Relief Mapping on Arbitrary Polygonal Surfaces

Real-Time Relief Mapping on Arbitrary Polygonal Surfaces. Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba. Overview. Introduction Related Work Review of Relief Texture Mapping Methods Results Discussion. Introduction. Goals. Represent surface detail using textures

Download Presentation

Real-Time Relief Mapping on Arbitrary Polygonal Surfaces

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba

  2. Overview • Introduction • Related Work • Review of Relief Texture Mapping • Methods • Results • Discussion

  3. Introduction Goals • Represent surface detail using textures • Apply to polygonal surfaces, allowing for deformation • Allow self-occlusions, interpenetrations, shadows and per-pixel lighting effects Introduction > Related Work > Relief Texture Mapping > Methods > Results

  4. Related Work • Bump mapping • Self-occlusions, shadows and silhouettes are not accounted for • Horizon mapping • Provides shadowing for bumped surfaces • Implemented on graphics hardware for improved performance Introduction > Related Work > Relief Texture Mapping > Methods > Results

  5. Related Work • Displacement mapping • Requires large amount of micro-polygons • Extensions added to avoid explicit rendering of micro-polygons • Ray tracing methods - too slow • 3D inverse image warping – too slow • 3D texture mapping – produces artifacts for some viewing angles Introduction > Related Work > Relief Texture Mapping > Methods > Results

  6. Related Work • View-dependent displacement maps • Pre-computes distances to a reference surface • Sampled along several view directions • Does not handle close up viewing well • Parallax Mapping • Uses per-texel depth • Texture coordinates along view direction are shifted based on depth • Only good for irregular/noisy bumps • No support for shadows Introduction > Related Work > Relief Texture Mapping > Methods > Results

  7. Relief Texture Mapping • Uses image warping techniques and per-texel depth to create the illusion of geometric detail Introduction > Related Work > Relief Texture Mapping > Methods > Results

  8. Relief Texture Mapping • Rendering of a height field requires a search for the closest polygon along the viewing ray • Overcome through a two-pass method: • Convert height field to conventional 2D texture using forward projection • Render texture as normal • Texels move horizontal and vertical in texture space based on their orthogonal displacements and the viewing direction Introduction > Related Work > Relief Texture Mapping > Methods > Results

  9. Representing 3D objects • Represent 3D geometry by relief texture mapping parallelpipeds • Cannot be extended to arbitrary surfaces Introduction > Related Work > Relief Texture Mapping > Methods > Results

  10. Relief Mapping Polygonal Surfaces • Uses modern graphics hardware • Because of fragment shaders, lighting is computed real-time • Shaded color map is replaced by normal map Introduction > Related Work > Relief Texture Mapping > Methods > Results

  11. Mapping relief data • Compute viewing direction, VD • Transform VD to tangent space of fragment • Use VD’ and texture coords (s,t) to compute the texture coords where VD’ hits depth of 1 Introduction > Related Work > Relief Texture Mapping > Methods > Results

  12. Mapping relief data • Compute the intersection between VD’ and the height-field surface using a binary search starting with A and B • Perform the shading of the fragment using the attributes associated with the texture coordinates of the computed intersection point. Introduction > Related Work > Relief Texture Mapping > Methods > Results

  13. Binary Search • Start with A-B line • At each step (8 steps): • Compute middle of the interval • Assign averaged endpoint texture coordinates and depth • Use averaged tex coords to access depth map • If stored depth value is less than computed depth value, the point is inside the surface • Proceed with one endpoint in and one out Introduction > Related Work > Relief Texture Mapping > Methods > Results

  14. Linear Search • To find first point under surface, start at A, advance ray by δAB • δ is a function of the angle between VD’ and interpolated fragment normal • No more than 32 steps are taken in their implementation • Proceed with binary search (with less iterations) Introduction > Related Work > Relief Texture Mapping > Methods > Results

  15. Shadowing • Visibility problem • Determine if light ray intersects surface • Do not need to know the exact point Introduction > Related Work > Relief Texture Mapping > Methods > Results

  16. Dual Depth Relief Textures • Represent opaque, closed surfaces with only one texture • Second “back” layer is not used for rendering, but as a constraint for ray-height-field intersection Introduction > Related Work > Relief Texture Mapping > Methods > Results

  17. Dual Depth Relief Textures Results Introduction > Related Work > Relief Texture Mapping > Methods > Results

  18. Dual Depth Relief Textures Storage • Two depthmaps and a normal map can be stored in one texture • Since normals are unit length, you can store just x and y and use the other two components for depth values • Compute z @ run-time • Rendering is the same as described, except a point is in the represented object if front_depth <= point depth <= back_depth Introduction > Related Work > Relief Texture Mapping > Methods > Results

  19. Results • Most objects rendered with 512x512 relief texture • 800x600 resolution at 85 fps • Written in Cg • 3GHz PC w/ 512 MB memory on NVIDIA GeForce 6800GT w/ 256 MB memory Introduction > Related Work > Relief Texture Mapping > Methods > Results

  20. Results Introduction > Related Work > Relief Texture Mapping > Methods > Results

  21. Results Introduction > Related Work > Relief Texture Mapping > Methods > Results

  22. Results Introduction > Related Work > Relief Texture Mapping > Methods > Results

  23. Results Introduction > Related Work > Relief Texture Mapping > Methods > Results

  24. Results Introduction > Related Work > Relief Texture Mapping > Methods > Results

  25. Results Introduction > Related Work > Relief Texture Mapping > Methods > Results

  26. Doom 3 Video video demonstration

  27. Conclusion • Provided method for mapping relief textures to arbitrary surfaces in texture space, allowing deformation • Provides correct shadowing, self-occlusion, and interpenetration with correct lighting • Presented an efficient ray-heightfield intersection algorithm • Extended relief maps with dual-depth textures

More Related