Transcript PowerPoint
CS 551 / 645: Introductory Computer Graphics Color Administrivia Changes to assignment 2 Today’s reading material: FvD, Chapter 13 Final Exam – – – – – Monday, December 11th, 2000 7:00 - 10:00 p.m. MEC 339 Check your schedule for collisions ASAP! You will collide if you are taking any of the following: APMA 109, 111; ITAL 101, 102; LATI 103, 201, 202 SPAN 101, 102, 201, 202 Assignment 2 For use on Windows box – change .C extension to .cpp extension – remove unistd.h inclusion – remove GL.h and GLU.h inclusion. glut.h includes these – No memory deallocation eats through memory. If you care, add deallocation to the ESCAPE key handler. sgi-10 is screwed up. You can compile on another SGI and run on sgi-10, though Don’t worry about the cat or horse Do zooming with up/down. Ignore left/right. Assignment 2 Euler angle rotations are bad – Rotate about x, followed by rotate about y, followed by rotate about z – Example: Rotate 180 degrees about x A rotation about y will turn in the opposite direction you expect You can leave the code the way it is now. We will fix it in future assignments Color Next topic: Color To understand how to make realistic images, we need a basic understanding of the physics and physiology of vision. Here we step away from the code and math for a bit to talk about basic principles. Basics Of Color Elements of color: Basics of Color Physics: – Illumination Electromagnetic spectra – Reflection Material properties Surface geometry and microgeometry (i.e., polished versus matte versus brushed) Perception – Physiology and neurophysiology – Perceptual psychology Physiology of Vision The eye: The retina – Rods – Cones Color! Physiology of Vision The center of the retina is a densely packed region called the fovea. – Cones much denser here than the periphery Physiology of Vision: Cones Three types of cones: – L or R, most sensitive to red light (610 nm) – M or G, most sensitive to green light (560 nm) – S or B, most sensitive to blue light (430 nm) – Color blindness results from missing cone type(s) Physiology of Vision: The Retina Strangely, rods and cones are at the back of the retina, behind a mostlytransparent neural structure that collects their response. Perception: Metamers A given perceptual sensation of color derives from the stimulus of all three cone types Identical perceptions of color can thus be caused by very different spectra Perception: Other Gotchas Color perception is also difficult because: – It varies from person to person – It is affected by adaptation (stare at a light bulb… don’t) – It is affected by surrounding color: Perception: Relative Intensity We are not good at judging absolute intensity Let’s illuminate pixels with white light on scale of 0 - 1.0 Intensity difference of neighboring colored rectangles with intensities: – 0.10 -> 0.11 – 0.50 -> 0.55 will look the same We perceive relative intensities, not absolute Representing Intensities Remaining in the world of black and white… Use photometer to obtain min and max brightness of monitor This is the dynamic range Intensity ranges from min, I0, to max, 1.0 How do we represent 256 shades of gray? Representing Intensities Equal distribution between min and max fails – relative change near max is much smaller than near I0 I0 = I 0, I 1 = rI0, I2 = rI1= r2I0,…, I255 = rI254 = r255I0 Ex: 4 intensities – 1/8, 1/4, 1/2, 1 Dynamic Ranges Dynamic Range Display (max / min illum) CRT: 50-200 Photo (print) 100 Photo (slide) 1000 B/W printout 100 Color printout 50 Newspaper 10 Max Perceived Intensities, r=1.01 400-530 465 700 465 400 234 Gamma Correction But most display devices are inherently nonlinear: Intensity = k(voltage)g – I.e., brightness(voltage) != 2*brightness(voltage/2) g is between 2.2 and 2.5 on most monitors Common solution: gamma correction – Post-transformation on intensities to map them to linear range on display device: 1 – Can have separate g for R, G, B g yx Gamma Correction Some monitors perform the gamma correction in hardware (SGI’s) Others do not (most PCs) Tough to generate images that look good on both platforms (i.e. images from web pages) Halftoning A technique used in newspaper printing Only two intensities are possible, blob of ink and no blob of ink But, the size of the blob can be varied Also, the dither patterns of small dots can be used Back to color Color is defined many ways Computer scientists frequently use: – Hue - The color we see (red, green, purple) – Saturation - How far is the color from gray (pink is less saturated than red, sky blue is less saturated than royal blue) – Brightness - How bright is the color How well do we see color? What color do we see the best? – Yellow-green at 550 nm What color do we see the worst? – Blue at 440 nm Flashback: Colortables (colormaps) for color storage Can perceive color differences of 10 nm at extremes (violet and red) and 2 nm between blue and yellow How well do we see color? 128 fully saturated hues can be distinguished Cannot perceive hue differences with less saturated light. Sensitivity to changes in saturation for a fixed hue and brightness ranges from 23 to 16 depending on hue. Color Spaces Three types of cones suggests color is a 3D quantity. How to define 3D color space? Idea: shine given wavelength () on a screen, and mix three other wavelengths (R,G,B) on same screen. Have user adjust intensity of RGB until colors are identical: CIE Color Space The CIE (Commission Internationale d’Eclairage) came up with three hypothetical lights X, Y, and Z with these spectra: Note that: X~R Y~G Z~B Idea: any wavelength can be matched perceptually by positive combinations of X,Y,Z CIE Color Space The gamut of all colors perceivable is thus a three-dimensional shape in X,Y,Z: For simplicity, we often project to the 2D plane X+Y+Z=1 X = X / (X+Y+Z) Y = Y / (X+Y+Z) Z=1-X-Y CIE Chromaticity Diagram (1931) Device Color Gamuts Since X, Y, and Z are hypothetical light sources, no real device can produce the entire gamut of perceivable color Example: CRT monitor Device Color Gamuts The RGB color cube sits within CIE color space something like this: Device Color Gamuts We can use the CIE chromaticity diagram to compare the gamuts of various devices: Note, for example, that a color printer cannot reproduce all shades available on a color monitor Converting Color Spaces Simple matrix operation: R' XR G ' YR B' ZR XG YG ZG XB R YB G ZB B The transformation C2 = M-12 M1 C1 yields RGB on monitor 2 that is equivalent to a given RGB on monitor 1 Converting Color Spaces Converting between color models can also be expressed as such a matrix transform: 0.11 R Y 0.30 0.59 I 0.60 0.28 0.32 G Q 0.21 0.52 0.31 B Note the relative unimportance of blue in computing the Y YIQ is the color model used for color TV in America. Y is luminance, I & Q are color – Note: Y is the same as CIE’s Y – Result: backwards compatibility with B/W TV! HSV Color Space A more intuitive color space – H = Hue – S = Saturation – V = Value (or brightness)