cg14_2013 - Computer Graphics Lecture 14 Bump-mapping...

Info icon This preview shows pages 1–14. Sign up to view the full content.

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Computer Graphics Lecture 14 Bump-mapping, Global Illumination (1) Today - Bump mapping - Displacement mapping - Global Illumination Radiosity Bump Mapping - A method to increase the realism of 3D objects without editing their geometry - By adding high resolution bump maps - In a way similar to texture mapping What's Missing? • What's the difference between a real brick wall and a photograph of the wall texture-mapped onto a plane? No shadows between the bricks This is what we want How do we achieve this? • High resolution brick wall? • - Difficult to prepare the model • - Very costly to handle during run-time Bump Mapping ● Use textures to alter the surface normal but not the geometry ● Done during the rasterization stage ○ Can synthesize realistic images without using high resolution meshes Sphere w/Diffuse Texture Swirly Bump Map Sphere w/Diffuse Texture & Bump Map Preparing Data Prepare a bump map whose values change from 0 to 1 Prepare a mapping of vertices to uv coordinates Cylinder w/Texture Map & Bump Map Procedure • During rasterization, compute the barycentric coordinates of the pixel and compute its uv coordinates by interpolation • Lookup the bump map and compute the finite difference of the bump map (Fu, Fv) = (dF/du, dF/dv) u= α u + β u2 + γ u3 v = α v + β v2 + γ v3 1 1 Procedure - continued • When rasterizing a pixel in the triangle, compute the original normal vector n and the its uv coordinates by barycentric coordinates • Perturb the normal vector by where (Fu, Fv) are the partial derivatives of the bump map, and Pu, Pv are the partial derivative of the geometry with respect to the uv • Do the lighting computation using n’ Computing Fu, Fv • Simply compute the finite difference of the height map at the corresponding uv v u Computing Pu, Pv How P changes according to u, v in the texture space v u Or compute Pu, Pv in screen space using chain rule y x Or compute Pu, Pv in screen space using chain rule y x These can be computed in the screen space by finite difference Or compute Pu, Pv in screen space using chain rule y where x Preparing Bump Maps • • • • Can be produced from photos or designed by the user If it is from an image, convert the image to greyscale Adjust the contrast, such the min is 0 and max is 1 White part bumps out and black color bump inwards • Need to make sure there is no specular highlights in the image Some more examples Some more examples Some more examples What's Missing? • There are no actual bumps on the silhouette of a bump-mapped object Displacement Mapping • - Use the texture to actually move the surface point • - The texture is a 3D mesh defined in the uv space How it works 1. 2. 1. Tessellate (subdivide) the base polygon mesh such that its resolution is same as the displacement map 2. Move each vertex in the normal direction of the base polygon mesh as much as the height in the displacement map Displacement Mapping: Discussions ● The cost increases as the polygon numbers is high ● Done in the geometry stage and not in the rasterization stage ● Can adaptively tessellate the base polygon mesh for the region the spatial frequency is high ● Methods to do it in the image space are getting popular Today - Bump mapping - Displacement mapping - Global Illumination Radiosity Background □ Rendering methods can be classified into ■ Local Illumination techniques ■ Global Illumination techniques Local Illumination methods ❑ Considers light sources and surface properties only. ❑ ❑ Phong Illumination, Phong shading, Gouraud Shading Very fast ❑ Used for real-time applications such as 3D computer games Local Illumination : problems ❑ ❑ Images synthesized appear artificial ❑ No inter-surface reflections ❑ Ambient light is a very simplified model Requires the user to add the effects like shadows and mirrors one by one ■ ■ Shadow maps, shadow volume, shadow texture for producing shadows Mirroring by reflecting the world or environment mapping Global Illumination □ In the real-world, light comes from all directions (ambient light) This is due to inter-reflections □ Global illumination methods handle such effects □ Global Illumination □ Methods □ □ □ Radiosity Monte-Carlo ray tracing, Photon Mapping Requires more computation and is slow The Radiosity Method (85’-) □ □ Based on a method developed by researchers in heat transfer in 1950s Applied to computer graphics in the mid 1980s by □ Michael Cohen □ Tomoyuki Nishita The Radiosity Method (85’-) Can simulate inter-surface reflection □ Can produce nice ambient effects □ Can simulate effects such as □ Soft shadows, □ color bleeding Can only handle diffuse color → need to be combined with raytracing to handle specular light □ Color bleeding Color Bleeding The Radiosity Model □ At each surface in a model the amount of energy that is given off (Radiosity) is comprised of ■ ■ Bj the energy that the surface emits internally (E), plus the amount of energy that is reflected off the surface (ρH) Eq. 1 The Radiosity Model (2) □ The amount of incident light hitting the surface can be found by summing for all other surfaces the amount of energy that they contribute to this surface Eq. 2 Form factor Form Factor (Fij) □ The fraction of energy that leaves surface i and lands on surface j Between differential areas, it is □ The overall form factor between i and j is □ Form Factor (2) □ □ Also need to take into account occlusions The form factor for those faces which are hidden from each other must be zero The Radiosity Matrix The radiosity equation now looks like this: The derived radiosity equations form a set of N linear equations in N unknowns. This leads nicely to a matrix solution: Solve for Bi – Use methods like Gauss-Seidal Radiosity Steps: 1. Generate Model (set up the scene) 2. Compute Form Factors and set the Radiosity Matrix 3. Solve the linear system 4. Render the scene Radiosity Steps: 1. Generate Model (set up the scene) 2. Compute Form Factors and set the Radiosity Matrix 3. Solve the linear system 4. Render the scene Radiosity Steps: 1. Generate Model (set up the scene) 2. Compute Form Factors and set the Radiosity Matrix 3. Solve the linear system 4. Render the scene Radiosity Steps: 1. Generate Model (set up the scene) 2. Compute Form Factors and set the Radiosity Matrix 3. Solve the linear system 4. Render the scene Radiosity Steps: 1. Generate Model 2. Compute Form Factors and set the Radiosity Matrix 3. Solve the linear system 4. Render the scene ● Where do we resume from if objects are moved? ● Where do we resume from if the lighting is changed? ● Where do we resume from if the reflectance parameters of the scene are modified? ● Where do we resume from if the view point changes? Radiosity Features: □ □ □ Very costly The faces must be subdivided into small patches to reduce the artefacts The computational cost for calculating the form factors is expensive □ □ Solving for Bi is also very costly Cubic to the number of patches Cannot handle specular light □ □ Quadratic to the number of patches Hemicube: by Michael Cohen’ 85 □ □ □ Accelerates the computation of the form factor The form factor for the right four faces with respect to a small patch in the bottom is the same Then, we can project the patches onto a hemicube Hemicube (2) □ □ □ Prepare a hemicube around the patch i Project those polygons you want to compute the form factor with patch i onto the hemicube Then, compute the form factor between them Hemicube (3) □ □ This can be done by perspective projection We can use the Z-buffer algorithm to find the closest polygon □ Handling the occlusion □ Setting the form factor of the pairs that occlude each other to zero Hemicube (4) □ The form factor between each pixel of the hemicube and the patch at the origin can be pre-computed and saved in a table □ Only 1/8 of all are needed, thanks to symmetry Summary Bump maps can be used to increase the reality without increasing the resolution of the meshes □ Global illumination methods simulate inter-reflectance □ Radiosity can simulate diffuse interreflectance □ The form factor computation can be accelerated by hemi-cube. □ Readings • Blinn, "Simulation of Wrinkled Surfaces", Computer Graphics, (Proc. Siggraph), Vol. 12, No. 3, August 1978, pp. 286-292. • Real-time Rendering, Chapter 5,1-5.2 • . dk/projects/downloads/tangent_matrix_deriv ation.php • Cohen et al., The hemi-cube: a radiosity solution for complex environments, SIGGRAPH ‘85 ...
View Full Document

  • Spring '14
  • Texture mapping, Bump mapping, form factor, Displacement mapping, Global Illumination, Radiosity Matrix

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern