3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository 3D graphics eBook - Course Materials Repository

courses.essex.ac.uk
from courses.essex.ac.uk More from this publisher
07.01.2013 Views

Bump mapping 27 4. Calculate the interaction of the new "bumpy" surface with lights in the scene using, for example, the Phong reflection model. The result is a surface that appears to have real depth. The algorithm also ensures that the surface appearance changes as lights in the scene are moved around. The other method is to specify a normal map which contains the modified normal for each point on the surface directly. Since the normal is specified directly instead of derived from a height map this method usually leads to more predictable results. This makes it easier for artists to work with, making it the most common method of bump mapping today [2] . There are also extensions which modifies other surface features in addition to increase the sense of depth. Parallax mapping is one such extension. The primary limitation with bump mapping is that it perturbs only the surface normals without changing the underlying surface itself. [3] Silhouettes and shadows therefore remain unaffected, which is especially noticeable for larger simulated displacements. This limitation can be overcome by techniques including the displacement mapping where bumps are actually applied to the surface or using an isosurface. Realtime bump mapping techniques Realtime 3D graphics programmers often use variations of the technique in order to simulate bump mapping at a lower computational cost. One typical way was to use a fixed geometry, which allows one to use the heightmap surface normal almost directly. Combined with a precomputed lookup table for the lighting calculations the method could be implemented with a very simple and fast loop, allowing for a full-screen effect. This method was a common visual effect when bump mapping was first introduced. References [1] Blinn, James F. "Simulation of Wrinkled Surfaces" (http:/ / portal. acm. org/ citation. cfm?id=507101), Computer Graphics, Vol. 12 (3), pp. 286-292 SIGGRAPH-ACM (August 1978) [2] Mikkelsen, Morten. Simulation of Wrinkled Surfaces Revisited (http:/ / image. diku. dk/ projects/ media/ morten. mikkelsen. 08. pdf), 2008 (PDF) [3] Real-Time Bump Map Synthesis (http:/ / web4. cs. ucl. ac. uk/ staff/ j. kautz/ publications/ rtbumpmapHWWS01. pdf), Jan Kautz 1 , Wolfgang Heidrichy 2 and Hans-Peter Seidel 1 , ( 1 Max-Planck-Institut für Informatik, 2 University of British Columbia) External links • Bump shading for volume textures (http:/ / ieeexplore. ieee. org/ xpl/ freeabs_all. jsp?arnumber=291525), Max, N.L., Becker, B.G., Computer Graphics and Applications, IEEE, Jul 1994, Volume 14, Issue 4, pages 18 - 20, ISSN 0272-1716 • Bump Mapping tutorial using CG and C++ (http:/ / www. blacksmith-studios. dk/ projects/ downloads/ bumpmapping_using_cg. php) • Simple creating vectors per pixel of a grayscale for a bump map to work and more (http:/ / freespace. virgin. net/ hugo. elias/ graphics/ x_polybm. htm) • Bump Mapping example (http:/ / www. neilwallis. com/ java/ bump2. htm) (Java applet)

CatmullClark subdivision surface 28 Catmull–Clark subdivision surface The Catmull–Clark algorithm is used in computer graphics to create smooth surfaces by subdivision surface modeling. It was devised by Edwin Catmull and Jim Clark in 1978 as a generalization of bi-cubic uniform B-spline surfaces to arbitrary topology. [1] In 2005, Edwin Catmull received an Academy Award for Technical Achievement together with Tony DeRose and Jos Stam for their invention and application of subdivision surfaces. Recursive evaluation Catmull–Clark surfaces are defined recursively, using the following refinement scheme: [1] Start with a mesh of an arbitrary polyhedron. All the vertices in this mesh shall be called original points. • For each face, add a face point • Set each face point to be the centroid of all original points for the respective face. • For each edge, add an edge point. First three steps of Catmull–Clark subdivision of a cube with subdivision surface below • Set each edge point to be the average of the two neighbouring face points and its two original endpoints. • For each face point, add an edge for every edge of the face, connecting the face point to each edge point for the face. • For each original point P, take the average F of all n face points for faces touching P, and take the average R of all n edge midpoints for edges touching P, where each edge midpoint is the average of its two endpoint vertices. Move each original point to the point (This is the barycenter of P, R and F with respective weights (n-3), 2 and 1. This arbitrary-looking formula was chosen by Catmull and Clark based on the aesthetic appearance of the resulting surfaces rather than on a mathematical derivation.) The new mesh will consist only of quadrilaterals, which won't in general be planar. The new mesh will generally look smoother than the old mesh. Repeated subdivision results in smoother meshes. It can be shown that the limit surface obtained by this refinement process is at least at extraordinary vertices and everywhere else (when n indicates how many derivatives are continuous, we speak of continuity). After one iteration, the number of extraordinary points on the surface remains constant.

Bump mapping 27<br />

4. Calculate the interaction of the new "bumpy" surface with lights in the scene using, for example, the Phong<br />

reflection model.<br />

The result is a surface that appears to have real depth. The algorithm also ensures that the surface appearance<br />

changes as lights in the scene are moved around.<br />

The other method is to specify a normal map which contains the modified normal for each point on the surface<br />

directly. Since the normal is specified directly instead of derived from a height map this method usually leads to<br />

more predictable results. This makes it easier for artists to work with, making it the most common method of bump<br />

mapping today [2] .<br />

There are also extensions which modifies other surface features in addition to increase the sense of depth. Parallax<br />

mapping is one such extension.<br />

The primary limitation with bump mapping is that it perturbs only the surface normals without changing the<br />

underlying surface itself. [3] Silhouettes and shadows therefore remain unaffected, which is especially noticeable for<br />

larger simulated displacements. This limitation can be overcome by techniques including the displacement mapping<br />

where bumps are actually applied to the surface or using an isosurface.<br />

Realtime bump mapping techniques<br />

Realtime <strong>3D</strong> <strong>graphics</strong> programmers often use variations of the technique in order to simulate bump mapping at a<br />

lower computational cost.<br />

One typical way was to use a fixed geometry, which allows one to use the heightmap surface normal almost directly.<br />

Combined with a precomputed lookup table for the lighting calculations the method could be implemented with a<br />

very simple and fast loop, allowing for a full-screen effect. This method was a common visual effect when bump<br />

mapping was first introduced.<br />

References<br />

[1] Blinn, James F. "Simulation of Wrinkled Surfaces" (http:/ / portal. acm. org/ citation. cfm?id=507101), Computer Graphics, Vol. 12 (3),<br />

pp. 286-292 SIGGRAPH-ACM (August 1978)<br />

[2] Mikkelsen, Morten. Simulation of Wrinkled Surfaces Revisited (http:/ / image. diku. dk/ projects/ media/ morten. mikkelsen. 08. pdf), 2008<br />

(PDF)<br />

[3] Real-Time Bump Map Synthesis (http:/ / web4. cs. ucl. ac. uk/ staff/ j. kautz/ publications/ rtbumpmapHWWS01. pdf), Jan Kautz 1 , Wolfgang<br />

Heidrichy 2 and Hans-Peter Seidel 1 , ( 1 Max-Planck-Institut für Informatik, 2 University of British Columbia)<br />

External links<br />

• Bump shading for volume textures (http:/ / ieeexplore. ieee. org/ xpl/ freeabs_all. jsp?arnumber=291525), Max,<br />

N.L., Becker, B.G., Computer Graphics and Applications, IEEE, Jul 1994, Volume 14, Issue 4, pages 18 - 20,<br />

ISSN 0272-1716<br />

• Bump Mapping tutorial using CG and C++ (http:/ / www. blacksmith-studios. dk/ projects/ downloads/<br />

bumpmapping_using_cg. php)<br />

• Simple creating vectors per pixel of a grayscale for a bump map to work and more (http:/ / freespace. virgin. net/<br />

hugo. elias/ <strong>graphics</strong>/ x_polybm. htm)<br />

• Bump Mapping example (http:/ / www. neilwallis. com/ java/ bump2. htm) (Java applet)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!