Texture. Detail Representation

Similar documents
Texture. Texture Maps

Multiple Importance Sampling

Overview. Hierarchy. Level of detail hierarchy Texture maps Procedural shading and texturing Texture synthesis and noise.

Computer Graphics. - Texturing Methods -

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Topics and things to know about them:

CS 354R: Computer Game Technology

Advanced Shading and Texturing

Shading Languages. Seminar Computer Graphics. Markus Kummerer

3D Rasterization II COS 426

Announcements. Written Assignment 2 is out see the web page. Computer Graphics

Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7.

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Texture mapping. Computer Graphics CSE 167 Lecture 9

Reading. Texture Mapping. Non-parametric texture mapping. Texture mapping. Required. Angel, 8.6, 8.7, 8.9, Recommended

COMP environment mapping Mar. 12, r = 2n(n v) v

CG Surfaces: Materials, Shading, and Texturing

CPSC / Texture Mapping

More Texture Mapping. Texture Mapping 1/46

Shadow and Environment Maps

Texture-Mapping Tricks. How Bad Does it Look? We've Seen this Sort of Thing Before. Sampling Texture Maps

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

Reading. Texture Mapping. Non-parametric texture mapping. Texture mapping. Required. Angel, 8.6, 8.7, 8.9, 8.10,

Shading. Flat shading Gouraud shading Phong shading

Radiance. Radiance properties. Radiance properties. Computer Graphics (Fall 2008)

Global Illumination The Game of Light Transport. Jian Huang

History of computer graphics

CS130 : Computer Graphics Lecture 8: Lighting and Shading. Tamar Shinar Computer Science & Engineering UC Riverside

Overview. Radiometry and Photometry. Foundations of Computer Graphics (Spring 2012)

CMSC427 Shading Intro. Credit: slides from Dr. Zwicker

Computer Graphics. Lecture 9 Environment mapping, Mirroring

Image-based Lighting

Lecture 22: Basic Image Formation CAP 5415

Evolution of Imaging Technology in Computer Graphics. Related Areas

CS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19

Complex Features on a Surface. CITS4241 Visualisation Lectures 22 & 23. Texture mapping techniques. Texture mapping techniques

Computer Graphics. - Texturing - Philipp Slusallek

CS 5625 Lec 2: Shading Models

Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models

Graphics for VEs. Ruth Aylett

Comp 410/510 Computer Graphics. Spring Shading

Computer Graphics. Illumination Models and Surface-Rendering Methods. Somsak Walairacht, Computer Engineering, KMITL

Local Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

03 RENDERING PART TWO

Bump Mapping Which one of these two image has a better visual effect?

ART 268 3D Computer Graphics Texture Mapping and Rendering. Texture Mapping

Understanding Variability

REYES REYES REYES. Goals of REYES. REYES Design Principles

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

CS 4620 Midterm, March 21, 2017

Lighting and Shading Computer Graphics I Lecture 7. Light Sources Phong Illumination Model Normal Vectors [Angel, Ch

Chapter 10. Surface-Rendering Methods. Somsak Walairacht, Computer Engineering, KMITL

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley

CSE 167: Lecture #7: Color and Shading. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CS635 Spring Department of Computer Science Purdue University

Efficient Rendering of Glossy Reflection Using Graphics Hardware

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

CS5620 Intro to Computer Graphics

Image-Based Lighting. Inserting Synthetic Objects

BRDF Computer Graphics (Spring 2008)

CMSC427 Final Practice v2 Fall 2017

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Texture Mapping. Reading. Implementing texture mapping. Texture mapping. Daniel Leventhal Adapted from Brian Curless CSE 457 Autumn 2011.

Shading. Why we need shading. Scattering. Shading. Objectives

Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models

Render methods, Compositing, Post-process and NPR in NX Render

CS 130 Final. Fall 2015

Global Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

Assignment #2. (Due date: 11/6/2012)

Homework #2. Shading, Ray Tracing, and Texture Mapping

Shading / Light. Thanks to Srinivas Narasimhan, Langer-Zucker, Henrik Wann Jensen, Ravi Ramamoorthi, Hanrahan, Preetham

WHY WE NEED SHADING. Suppose we build a model of a sphere using many polygons and color it with glcolor. We get something like.

Choosing the right course

CS452/552; EE465/505. Intro to Lighting

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

Interpolation using scanline algorithm

CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications

Topic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source

Texture Mapping. Brian Curless CSE 457 Spring 2016

Lecture 15: Shading-I. CITS3003 Graphics & Animation

Computer Graphics 7 - Texture mapping, bump mapping and antialiasing

Wednesday, 26 January 2005, 14:OO - 17:OO h.

Local vs. Global Illumination & Radiosity

LEVEL 1 ANIMATION ACADEMY2010

Pipeline Operations. CS 4620 Lecture 10

Texture Mapping. Brian Curless CSE 457 Spring 2015

Electromagnetic waves and power spectrum. Rays. Rays. CS348B Lecture 4 Pat Hanrahan, Spring 2002

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.

Illumination Models & Shading

CS559 Computer Graphics Fall 2015

Illumination & Shading: Part 1

lecture 18 - ray tracing - environment mapping - refraction

CS3500 Computer Graphics Module: Lighting and Shading

Transcription:

Page 1 Texture Procedural shading and texturing Applied and projected textures Material / light properties Shadow maps Spherical and higher order textures Spherical mappings Environment and irradiance maps Reflectance maps Detail Representation

Texture Maps What does the texture represent? Dimensionality: 1D, 2D, 3D, Surface color and opacity Illumination functions: environment maps, shadow maps Geometry: bump and displacement maps Reflection functions: reflectance maps How is it mapped onto surfaces? Decal: surface parameterization (u,v) Direction vectors: reflection R, normal N, halfway H Projection: cylinder, slide-projector Surface Color and Transparency Tom Porter s Bowling Pin Source: RenderMan Companion, Pls. 12 & 13 Page 2

Page 3 Procedural Surface Shading surface shader float4 bowling pin (texref base, texref bruns, texref circle, texref coated, texref marks, float4 uv) {... // Omitted texture coordinate generation code float4 Base = texture(base, m_base * uv_wrap); float4 Bruns = front * texture(bruns, m_bruns * uv_label); float4 Circle = front * texture(circle, m_circle * uv_label); float4 Coated = (1 - front) * texture(coated, m_coated * uv_label); float4 Marks = texture(marks, m_marks * uv_wrap); // Invoke lighting models from lightmodels.h float4 Cd = lightmodel diffuse({0.4, 0.4, 0.4, 1}, {0.5, 0.5, 0.5, 1}); float4 Cs = lightmodel specular({0.35, 0.35, 0.35, 1}, {0, 0, 0, 0}, 20); // Composite textures, apply lighting, and return final color return (Circle over (Bruns over (Coated over Base))) * Marks * Cd + Cs; } Illumination Maps * = Reflectance Irradiance Radiosity ρ( x) Ex ( ) Bx ( )

Page 4 Quake Light Maps * Lower resolution Displacement/Bump Mapping P(,) uv (,) uv S(,) uv = P u N(,) uv = S T Displacement P (,) uv = P(,) uv + huv (,) N(,) uv Perturbed normal N (,) uv = P u P v = N+ h ( T N) + h( S N) u (,) uv T(,) uv = P v v From Blinn 1976

Page 5 Procedural Light Shading Inconsistent Shadows Barzel s UberLight.sl Projected Shadow Matte Projected Texture UberLight( ) { Clip to near/far planes Clip to shape boundary foreach superelliptical blocker atten *= foreach cookie texture atten *= foreach slide texture color *= foreach noise texture atten, color *= foreach shadow map atten, color *= Calculate intensity fall-off Calculate beam distribution } Shadow Maps Shadow maps = depth maps from light source

Correct Shadow Maps Step 1: Create z-buffer of scene as seen from light source Step 2. Render scene as seen from the eye For each light Transform point into light coordinates return (zl < zbuffer[xl][yl] )? 1 : 0 Image Synthesis with Noise Perlin 1985 Page 6

Page 7 Perlin s Noise Function 1. Create a table of random 3D gradients 2. Hash a 3D lattice to a table entry 3. Perform cubic (or higher order) interpolation Perlin 1985, 2002 Turbulence // Compute fractal noise for (i = 0; i < 6; i++) { turb += 1/freq * noise(freq*p); freq *= 2; } + + + + + = Images from http://freespace.virgin.net/hugo.elias/models/m_perlin.htm

Page 8 History Catmull/Williams 1974 - basic idea Blinn and Newell 1976 - basic idea, reflection maps Blinn 1978 - bump mapping Williams 1978, Reeves et al. 1987 - shadow maps Smith 1980, Heckbert 1983 - texture mapped polygons Williams 1983 - mipmaps Miller and Hoffman 1984 - illumination and reflectance Perlin 1985, Peachey 1985 - solid textures Greene 1986 - environment maps/world projections Akeley 1993 - Reality Engine Reflection Maps Blinn and Newell, 1976

Page 9 Gazing Ball Miller and Hoffman, 1984 Photograph of mirror ball Maps all directions to a to circle Resolution function of orientation Reflection indexed by normal Environment Maps Interface, Chou and Williams (ca. 1985)

Page 10 Environment Map Approximation Ray Traced Environment Map Self reflections are missing in the environment map Cylindrical Panoramas QuickTime VR Mars Pathfinder Memorial Church (Ken Turkowski)

Page 11 Fisheye Lens Pair of 180 degree fisheye Photo by K. Turkowski Cubical Environment Map Easy to produce with rendering system Possible to produce from photographs Uniform resolution Simple texture coordinates calculation

Direction Maps Many ways to map directions to images... Methods: Lattitude-Longitude (Map Projections) [Newell and Blinn] Create by painting Gazing Ball (N) [Miller and Hoffman] Create by photographing a reflective sphere Issues: Fisheye Lens Standard camera lens Cubical Environment Map (R) Create with a rendering program, photography... Non-linear mapping - expensive, curved lines Area distortion - spatially varying resolution Convert between maps using image warp Combining Reflectance & Illumination Photographs of 5 spheres in 3 environments (Adelson and Dror) Page 12

Page 13 Reflectance Maps For a given viewing direction For each normal direction For each incoming direction (hemispherical integral) Evaluate reflection equation Example: Phong Model Rough surfaces blur highlight σ

Page 14 Example: Lambertian Reflectance Incident Lighting Reflected Light B( Nˆ) = ρe( Nˆ) Radiosity or Irradiance Map Reflectance Space Shading 12 directions Cabral, Olano, Nemic 1999

Page 15 Bidirectional Texture Function (BTF) Plaster BTF Mapping Complex interplay between texture and reflection

Page 16 Relighting with Visibility Map Textures