Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 Apply to polygonal surfaces, allowing for deformation Allow self-occlusions, interpenetrations, shadows and perpixel lighting effects Introduction > Related Work > Relief Texture Mapping > Methods > Results 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 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 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 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 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 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 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 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 Mapping relief data Compute the intersection between VD’ and the heightfield 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 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 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 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 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 rayheight-field intersection Introduction > Related Work > Relief Texture Mapping > Methods > Results Dual Depth Relief Textures Results Introduction > Related Work > Relief Texture Mapping > Methods > Results 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 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 Results Introduction > Related Work > Relief Texture Mapping > Methods > Results Results Introduction > Related Work > Relief Texture Mapping > Methods > Results Results Introduction > Related Work > Relief Texture Mapping > Methods > Results Results Introduction > Related Work > Relief Texture Mapping > Methods > Results Results Introduction > Related Work > Relief Texture Mapping > Methods > Results Results Introduction > Related Work > Relief Texture Mapping > Methods > Results Doom 3 Video video demonstration 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