Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics CIS 636/736 Computer Graphics.

Similar presentations


Presentation on theme: "Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics CIS 636/736 Computer Graphics."— Presentation transcript:

1 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics CIS 636/736 Computer Graphics Lecture 10 of 42 William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://snipurl.com/1y5gchttp://snipurl.com/1y5gc Course web site: http://www.kddresearch.org/Courses/CIS636http://www.kddresearch.org/Courses/CIS636 Instructor home page: http://www.cis.ksu.edu/~bhsuhttp://www.cis.ksu.edu/~bhsu Readings: Sections 20.5 – 20.13, Eberly 2 e – see http://snurl.com/1ye72http://snurl.com/1ye72 Next class (Lab 2): Textures in OpenGL: A Primer (Angel, 3 e ) Surface Detail 4: Mappings

2 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Review: Texture Mapping parametric coordinates texture coordinates world coordinates window coordinates

3 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Review: Common Texture Coordinate Mappings Orthogonal Cylindrical Spherical Perspective Projection Texture Chart © 2006, Durand & Cutler, MIT CSAIL (6.837)

4 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Projective Texture Example Modeling from photographs Using input photos as textures Figure from Debevec, Taylor & Malik http://www.debevec.org/Researchhttp://www.debevec.org/Research

5 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Texture Mapping & Illumination Texture mapping can be used to alter some or all of the constants in the illumination equation:  pixel color, diffuse color, alter the normal, …. Phong's Illumination Model Constant Diffuse ColorDiffuse Texture Color Texture used as LabelTexture used as Diffuse Color

6 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Texture Chart Pack triangles into a single image

7 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Questions?

8 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Today 2D Texture Mapping Procedural Solid Textures Other Mapping Techniques Texture Aliasing

9 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Procedural Textures Image by Turner Whitted f (x,y,z) → color

10 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Advantages:  easy to implement in ray tracer  more compact than texture maps (especially for solid textures)  infinite resolution Disadvantages  non-intuitive  difficult to match existing texture Procedural Textures

11 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Questions? Ken Perlin Justin Legakis

12 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Today 2D Texture Mapping Procedural Solid Textures Other Mapping Techniques:  Bump Mapping  Displacement Mapping  Environment Mapping (for Reflections)  Light Maps (for Illumination) Texture Aliasing

13 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics What's Missing? What's the difference between a real brick wall and a photograph of the wall texture-mapped onto a plane? What happens if we change the lighting or the camera position?

14 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Remember Gouraud Shading? Instead of shading with the normal of the triangle, shade the vertices with the average normal and interpolate the color across each face Illusion of a smooth surface with smoothly varying normals

15 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Phong Normal Interpolation Interpolate the average vertex normals across the face and compute per-pixel shading (Not Phong Shading) Must be renormalized

16 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Bump Mapping Use textures to alter the surface normal  Does not change the actual shape of the surface  Just shaded as if it were a different shape Sphere w/Diffuse Texture Swirly Bump MapSphere w/Diffuse Texture & Bump Map

17 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Bump Mapping Treat the texture as a single-valued height function Compute the normal from the partial derivatives in the texture

18 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Another Bump Map Example Cylinder w/Diffuse Texture Map Bump Map Cylinder w/Texture Map & Bump Map

19 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics What's Missing? There are no bumps on the silhouette of a bump-mapped object Bump maps don’t allow self-occlusion or self-shadowing

20 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Displacement Mapping Use the texture map to actually move the surface point The geometry must be displaced before visibility is determined

21 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Displacement Mapping Image from: Geometry Caching for Ray-Tracing Displacement Maps by Matt Pharr and Pat Hanrahan. note the detailed shadows cast by the stones

22 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Ken Musgrave Displacement Mapping

23 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Today 2D Texture Mapping Procedural Solid Textures Other Mapping Techniques:  Projective Shadows and Shadow Maps  Bump Mapping  Displacement Mapping  Environment Mapping (for Reflections)  Light Maps (for Illumination) Texture Aliasing

24 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Environment Maps We can simulate reflections by using the direction of the reflected ray to index a spherical texture map at "infinity". Assumes that all reflected rays begin from the same point.

25 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics What's the Best Chart?

26 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Environment Mapping Example Terminator II

27 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Texture Maps for Illumination Quake Also called "Light Maps"

28 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Questions? Image by Henrik Wann Jensen Environment map by Paul Debevec

29 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Today 2D Texture Mapping Procedural Solid Textures Other Mapping Techniques: Texture Aliasing

30 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Textures can Alias Aliasing is the under-sampling of a signal, and it's especially noticeable during animation nearest neighbor mipmaps & linear interpolation

31 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Textures can Alias Small details may "pop" in and out of view nearest neighbormipmaps & linear interpolation

32 Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics Next Time: Lab 2: Shading and Texturing in OpenGL


Download ppt "Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics CIS 636/736 Computer Graphics."

Similar presentations


Ads by Google