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

Similar documents
CSE 167: Introduction to Computer Graphics Lecture #6: Colors. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

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

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

CMSC427 Shading Intro. Credit: slides from Dr. Zwicker

CSE 167: Introduction to Computer Graphics Lecture #5: Illumination Model

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

Computer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model

Computer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1)

ECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014

CSE 681 Illumination and Phong Shading

Illumination & Shading

Comp 410/510 Computer Graphics. Spring Shading

Computer Graphics. Illumination and Shading

Illumination and Shading

Shading. Brian Curless CSE 557 Autumn 2017

w Foley, Section16.1 Reading

CPSC 314 LIGHTING AND SHADING

Lecture 15: Shading-I. CITS3003 Graphics & Animation

CSE 167: Lecture #8: Lighting. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

Illumination & Shading: Part 1

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

Topic 9: Lighting & Reflection models. Lighting & reflection The Phong reflection model diffuse component ambient component specular component

CS230 : Computer Graphics Lighting and Shading. Tamar Shinar Computer Science & Engineering UC Riverside

Shading 1: basics Christian Miller CS Fall 2011

Illumination Models & Shading

Shading I Computer Graphics I, Fall 2008

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

CS5620 Intro to Computer Graphics

Computer Graphics MTAT Raimond Tunnel

Objectives. Introduce Phong model Introduce modified Phong model Consider computation of required vectors Discuss polygonal shading.

CSE 167: Lecture #8: GLSL. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Color and Light CSCI 4229/5229 Computer Graphics Fall 2016

Introduction. Lighting model Light reflection model Local illumination model Reflectance model BRDF

Illumination in Computer Graphics

CS 5625 Lec 2: Shading Models

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

Introduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading)

Computer Graphics. Shading. Based on slides by Dianna Xu, Bryn Mawr College

CS-184: Computer Graphics. Today

Shading. Reading. Pinhole camera. Basic 3D graphics. Brian Curless CSE 557 Fall Required: Shirley, Chapter 10

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

CSE 167: Lecture #6: Color. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

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

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

Reading. Shading. An abundance of photons. Introduction. Required: Angel , 6.5, Optional: Angel 6.4 OpenGL red book, chapter 5.

Computer Graphics. Illumination and Shading

Turn on the Lights: Reflectance

Simple Lighting/Illumination Models

Light Transport Baoquan Chen 2017

CS 4600 Fall Utah School of Computing

CS770/870 Spring 2017 Color and Shading

Shading. Brian Curless CSE 457 Spring 2017

CSE 167: Introduction to Computer Graphics Lecture #7: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015

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

-=Bui Tuong Phong's Lighting=- University of Utah, but with shaders. Anton Gerdelan Trinity College Dublin

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

Colour Reading: Chapter 6. Black body radiators

Illumination and Shading

Introduction to Visualization and Computer Graphics

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

Complex Shading Algorithms

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

CENG 477 Introduction to Computer Graphics. Ray Tracing: Shading

Lighting and Shading. Slides: Tamar Shinar, Victor Zordon

Color and Light. CSCI 4229/5229 Computer Graphics Summer 2008

Introduction to Computer Graphics. Farhana Bandukwala, PhD Lecture 14: Light Interacting with Surfaces

Color and Shading. Color. Shapiro and Stockman, Chapter 6. Color and Machine Vision. Color and Perception

Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007

CS6670: Computer Vision

Lecture 1 Image Formation.

Why we need shading?

Illumination. Illumination CMSC 435/634

Overview. Shading. Shading. Why we need shading. Shading Light-material interactions Phong model Shading polygons Shading in OpenGL

surface: reflectance transparency, opacity, translucency orientation illumination: location intensity wavelength point-source, diffuse source

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

Virtual Reality for Human Computer Interaction

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

Rendering Light Reflection Models

Lighting affects appearance

University of British Columbia CPSC 314 Computer Graphics Sep-Dec Tamara Munzner (guest lecturing) Lighting/Shading

CS452/552; EE465/505. Intro to Lighting

Understanding Variability

CPSC / Illumination and Shading

CS-184: Computer Graphics. Announcements. Lecture #3: Shading. 03-Shading.key - January 28, 2014

C O M P U T E R G R A P H I C S. Computer Graphics. Three-Dimensional Graphics V. Guoying Zhao 1 / 65

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

Visualisatie BMT. Rendering. Arjan Kok

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

Lights, Surfaces, and Cameras. Light sources emit photons Surfaces reflect & absorb photons Cameras measure photons

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

Light Reflection Models

Sung-Eui Yoon ( 윤성의 )

Lecture 17: Shading in OpenGL. CITS3003 Graphics & Animation

Rendering Light Reflection Models

Raytracing CS148 AS3. Due :59pm PDT

Interactive Real-Time Raycasting

Raytracing. COSC 4328/5327 Scott A. King

The Rasterization Pipeline

CS6670: Computer Vision

Transcription:

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

Announcements Homework project #3 due this Friday, October 14 th To be presented starting 1:30pm in lab 260 Late submissions for project #2 accepted until this Friday Ted problem Resource Unavailable solved 2

Lecture Overview Color Color reproduction on computer monitors Perceptually uniform color spaces Shading Introduction Local shading models 3

Summary CIE color spaces are defined by matching curves At each wavelength, matching curves give weights of primaries needed to produce color perception of that wavelength CIE RGB matching curves determined using trisimulus experiment Each distinct color perception has unique coordinates CIE RGB values may be negative CIE XYZ values are always positive 4

CIE XYZ Color Space Visualization Interpret XYZ as 3D coordinates Plot corresponding color at each point Many XYZ values do not correspond to visible colors 5

Chromaticity Diagram Project from XYZ coordinates to 2D for more convenient visualization Drop z-coordinate 6

Chromaticity Diagram Factor out luminance (perceived brightness) and chromaticity (hue) x,y represent chromaticity of a color Y is luminance CIE xyy color space Reconstruct XYZ values from xyy 7

Chromaticity Diagram Visualizes x,y plane (chromaticities) Pure spectral colors on boundary Colors shown do not correspond to colors represented by (x,y) coordinates! 8

Chromaticity Diagram Visualizes x,y plane (chromaticities) Pure spectral colors on boundary Weighted sum of any two colors lies on line connecting colors Colors shown do not correspond to colors represented by (x,y) coordinates! 9

Chromaticity Diagram Visualizes x,y plane (chromaticities) Pure spectral colors on boundary Weighted sum of any two colors lies on line connecting colors Weighted sum of any number of colors lies in convex hull of colors (gamut) Colors shown do not correspond to colors represented by (x,y) coordinates! 10

Gamut Any device based on three primaries can only produce colors within the triangle spanned by the primaries Points outside gamut correspond to negative weights of primaries Gamut of CIE RGB primaries 11 Gamut of typical CRT monitor

RGB Monitors Given red, green, blue (RBG) values, what color will your monitor produce? I.e., what are the CIE XYZ or CIE RGB coordinates of the displayed color? How are OpenGL RGB values related to CIE XYZ, CIE RGB? Often you don t know! OpenGL RGB CIE XYZ, CIE RGB Gamut of CIE RGB primaries 12 Gamut of typical CRT monitor

RGB Monitors Ideally: We know XYZ values for RGB primaries Monitor is linear RGB signal corresponds to weighted sum of primaries: 13

RGB Monitors Given desired XYZ values, find rgb values by inverting matrix Similar to change of coordinate systems for 3D points 14

RGB Monitors In reality XYZ values for monitor primaries are usually not directly specified Monitor brightness is adjustable Monitors are not linear Need gamma correction For typical CRT monitors 15

srgb Standard color space, with standard conversion to CIE XYZ Designed to match RGB values of typical monitor under typical viewing conditions If no calibration information available, it is best to interpret RGB values as srgb srgb is supported by OpenGL 2.0 with the ARB_framebuffer_sRGB extension For more details and transformation from CIE XYZ to srgb: http://en.wikipedia.org/wiki/srgb_color_space 16

Conclusions Color reproduction on consumer monitors is less than perfect The same RGB values on one monitor look different than on another Given a color in CIE XYZ coordinates, consumer systems do not reliably produce that color Display calibration Need color calibration Consumers do not seem to care Standard for digital publishing, printing, photography 17

Lecture Overview Color Color reproduction on computer monitors Perceptually uniform color spaces Shading Introduction Local shading models 18

Perceptually Uniform Color Spaces Definition: Euclidean distance between color coordinates corresponds to perceived difference. CIE RGB, XYZ are not perceptually uniform: Euclidean distance between RGB, XYZ coordinates does not correspond to perceived difference 19

MacAdam Ellipses Experiment (1942) to identify regions in CIE xy color space that are perceived as the same color Found elliptical areas, MacAdam ellipses In perceptually uniform color space, each point on an ellipse should have the same distance to the center Ellipses become circles 20 MacAdam ellipses

CIE L*,a*,b* (CIELAB) Most common perceptually uniform color space L* encodes lightness a* encodes position between magenta and green b* encodes position between yellow and blue Uses asterisk (*) to distinguish from Hunter's Lab color space Conversion between CIE XYZ and CIELAB is non-linear 21 CIELAB color space

Further Reading Wikipedia pages http://en.wikipedia.org/wiki/cie_1931_color_space http://en.wikipedia.org/wiki/cielab More details: CIE Color Space: http://www.fho-emden.de/~hoffmann/ciexyz29082000.pdf 22

Lecture Overview Color Color reproduction on computer monitors Perceptually uniform color spaces Shading Introduction Local shading models 23

Shading Compute interaction of light with surfaces Requires simulation of physics Global illumination Multiple bounces of light Computationally expensive, minutes per image Used in movies, architectural design, etc. 24

Global Illumination Covered by CSE168 25 (All non-teapot images courtesy of Prof. Wann Jensen)

Interactive Applications No physics-based simulation Simplified models Reproduce perceptually most important effects Local illumination Only one bounce of light between light source and viewer 26 One bounce of light Surface

Rendering Pipeline Scene data Modeling and viewing transformation Shading Projection Scan conversion, visibility Position object in 3D Determine colors of vertices Per vertex shading Map triangles to 2D Draw triangles Per pixel shading 27 Image

Lecture Overview Color Color reproduction on computer monitors Perceptually uniform color spaces Shading Introduction Local shading models 28

Local Illumination What gives a material its color? How is light reflected by a Mirror White sheet of paper Blue sheet of paper Glossy metal 29

Local Illumination Model reflection of light at surfaces Assumption: no subsurface scattering Bidirectional reflectance distribution function (BRDF) Given light direction, viewing direction, how much light is reflected towards the viewer For any pair of light/viewing directions! 30

Local Illumination Simplified model Sum of 3 components Covers a large class of real surfaces diffuse specular ambient 31

Local Illumination Simplified model Sum of 3 components Covers a large class of real surfaces diffuse specular ambient 32

Diffuse Reflection Ideal diffuse material reflects light equally in all directions View-independent Matte, not shiny materials Paper Unfinished wood Unpolished stone 33

Diffuse Reflection Beam of parallel rays shining on a surface Area covered by beam varies with the angle between the beam and the normal The larger the area, the less incident light per area Incident light per unit area is proportional to the cosine of the angle between the normal and the light rays Object darkens as normal turns away from light Lambert s cosine law (Johann Heinrich Lambert, 1760) Diffuse surfaces are also called Lambertian surfaces n n n 34

Diffuse Reflection Given Unit surface normal n Unit light direction L Material diffuse reflectance (material color) k d Light color (intensity) c l Diffuse color c d is: 35 Proportional to cosine between normal and light

Diffuse Reflection Notes Parameters k d, c l are r,g,b vectors Need to compute r,g,b values of diffuse color c d separately Parameters in this model have no precise physical meaning c l : strength, color of light source k d : fraction of reflected light, material color 36

Diffuse Reflection Provides visual cues Surface curvature Depth variation Lambertian (diffuse) sphere under different lighting directions 37

OpenGL Lights (gllight*) Values for light: Definition: (0,0,0) is black, (1,1,1) is white OpenGL Values for diffuse reflection Fraction of reflected light: Consult OpenGL Programming Guide (Red Book) See course web site 38

Local Illumination Simplified model Sum of 3 components Covers a large class of real surfaces diffuse specular ambient 39

Specular Reflection Shiny surfaces Polished metal Glossy car finish Plastics Specular highlight Blurred reflection of the light source Position of highlight depends on viewing direction Specular highlight 40

Specular Reflection Ideal specular reflection is mirror reflection Perfectly smooth surface Incoming light ray is bounced in single direction Angle of incidence equals angle of reflection 41

Law of Reflection Angle of incidence equals angle of reflection 42

Specular Reflection Many materials are not perfect mirrors Glossy materials 43 Glossy teapot

Glossy Materials Assume surface composed of small mirrors with random orientation (micro-facets) Smooth surfaces Micro-facet normals close to surface normal Sharp highlights Rough surfaces Micro-facet normals vary strongly Blurry highlight 44 Polished Smooth Rough Very rough

Glossy Surfaces Expect most light to be reflected in mirror direction Because of micro-facets, some light is reflected slightly off ideal reflection direction Reflection Brightest when view vector is aligned with reflection Decreases as angle between view vector and reflection direction increases 45

Phong Model (Bui Tuong Phong,1973 ) Specular reflectance coefficient k s Phong exponent p Greater p means smaller (sharper) highlight 46

Phong Model 47

Blinn Model (Jim Blinn, 1977) Define unit halfway vector Halfway vector represents normal of micro-facet that would lead to mirror reflection to the eye 48

Blinn Model The larger the angle between micro-facet orientation and normal, the less likely Use cosine of angle between them Shininess parameter Very similar to Phong 49

Local Illumination Simplified model Sum of 3 components Covers a large class of real surfaces diffuse specular ambient 50

Ambient Light In real world, light is bounced all around scene Could use global illumination techniques to simulate Simple approximation Add constant ambient light at each point: k a c a Ambient light color: c a Ambient reflection coefficient: k a Areas with no direct illumination are not completely dark 51

Complete Blinn Model Blinn model with several light sources I All colors and reflection coefficients have separate values for red, green, blue diffuse specular ambient 52

BRDFs Diffuse, Phong, Blinn models are instances of bidirectional reflectance distribution functions (BRDFs) For each pair of light directions L, viewing direction e, return fraction of reflected light Shading with general BRDF f Many forms of BRDFs in graphics, often named after inventors Cook-Torrance Ward 53

Next Lecture Light sources Shader programming: Vertex shaders Fragment shaders