Motivation: Entertainment
Motivation: Computer-Aided Design CAD Visual simulation and Training 우주선, 비행 시뮬레이션 자동차 운전, 골프 시뮬레이션 수술 시뮬레이션
Motivation: Digital Media Technologies Traditional media (analog to digital transition) Desktop publishing and printing Digital photography Digital video와 HDTV “New” media experience Multimedia personal computer 온라인게임 등 네트웍 그래픽스 및 웹 사진(flickr, cyworld) 및 비디오 공유 (youTube)
Ivan Sutherland (1963) - SKETCHPAD 팝업 메뉴 조건부 드로잉, 모델링 등 기본적인 기능
Display hardware vector displays raster displays other 1963 – modified oscilloscope 1974 – Evans and Sutherland Picture System raster displays 1975 – Evans and Sutherland frame buffer 1980s – cheap frame buffers bit-mapped personal computers 1990s – liquid-crystal displays laptops 2000s – micro-mirror projectors digital cinema 2010s – high dynamic range displays? other stereo, head-mounted displays autostereoscopic displays
Input hardware 2D light pen, tablet, mouse, joystick, track ball, touch panel, etc. 1970s & 80s - CCD analog image sensor + frame grabber
Input hardware 2D light pen, tablet, mouse, joystick, track ball, touch panel, etc. 1970s & 80s - CCD analog image sensor + frame grabber
Input hardware 2D → high-dynamic range (HDR) imaging light pen, tablet, mouse, joystick, track ball, touch panel, etc. 1970s & 80s - CCD analog image sensor + frame grabber 1990s & 2000’s - CMOS digital sensor + in-camera processing → high-dynamic range (HDR) imaging [Nayar00]
negative film = 130:1 (7 stops) paper prints = 46:1 [Debevec97] = 250,000:1 (18 stops) negative film actually 1000:1, but top and bottom are non-linear, so usually ignored increased dynamic range detail in shadows without blowing out highlights or equivalently, low-noise in shadows recompressed non-linearly using tone mapping for this (laptop) display
Input hardware 2D 3D 3mm mesh 1mm 0.3mm light pen, tablet, mouse, joystick, track ball, touch panel, etc. 1970s & 80s - CCD analog image sensor + frame grabber 1990s & 2000’s - CMOS digital sensor + in-camera processing high-dynamic range (HDR) imaging 3D 1980s - 3D trackers 1990s - active rangefinders 1mm 0.3mm
Input hardware 2D 3D 4D and higher light pen, tablet, mouse, joystick, track ball, touch panel, etc. 1970s & 80s - CCD analog image sensor + frame grabber 1990s & 2000’s - CMOS digital sensor + in-camera processing high-dynamic range (HDR) imaging 3D 1980s - 3D trackers 1990s - active rangefinders 4D and higher multiple cameras multi-arm gantries
Rendering 1960s - the visibility problem Roberts (1963), Appel (1967) - hidden-line algorithms Warnock (1969), Watkins (1970) - hidden-surface algorithms Sutherland (1974) - visibility = sorting 1970s illustrations taken from FvDFH
1970s - raster graphics 1960s - the visibility problem Roberts (1963), Appel (1967) - hidden-line algorithms Warnock (1969), Watkins (1970) - hidden-surface algorithms Sutherland (1974) - visibility = sorting 1970s - raster graphics Gouraud (1971) - diffuse lighting Phong (1974) - specular lighting Blinn (1974) - curved surfaces, texture Crow (1977) - anti-aliasing 1970s illustrations taken from FvDFH
1970s - raster graphics 1960s - the visibility problem Roberts (1963), Appel (1967) - hidden-line algorithms Warnock (1969), Watkins (1970) - hidden-surface algorithms Sutherland (1974) - visibility = sorting 1970s - raster graphics Gouraud (1971) - diffuse lighting Phong (1974) - specular lighting Blinn (1974) - curved surfaces, texture Catmull (1974) - Z-buffer hidden-surface algorithm Crow (1977) - anti-aliasing 1970s illustrations taken from FvDFH
early 1980s - global illumination Whitted (1980) - ray tracing Goral, Torrance et al. (1984), Cohen (1985) - radiosity Kajiya (1986) - the rendering equation 1980s illustrations taken from Siggraph proceedings global illumination ray tracing = Monte Carlo evaluation of the rendering equation radiosity = finite element evaluation of the rendering equation the rendering equation – covered in CS 348B
early 1980s - global illumination Whitted (1980) - ray tracing Goral, Torrance et al. (1984), Cohen (1985) - radiosity Kajiya (1986) - the rendering equation late 1980s - photorealism Cook (1984) - shade trees Perlin (1985) - shading languages Hanrahan and Lawson (1990) - RenderMan 1980s illustrations taken from Siggraph proceedings → shaders
early 1990s - non-photorealistic rendering Drebin et al. (1988), Levoy (1988) - volume rendering Haeberli (1990) - impressionistic paint programs Salesin et al. (1994-) - automatic pen-and-ink illustration Meier (1996) - painterly rendering Haeberli the basis for Fractal Design’s (then Meta Creation’s) Painter program Salesin et al illustrate from 1994 paper Meier front cover of Siggraph ‘96
early 1990s - non-photorealistic rendering Drebin et al. (1988), Levoy (1988) - volume rendering Haeberli (1990) - impressionistic paint programs Salesin et al. (1994-) - automatic pen-and-ink illustration Meier (1996) - painterly rendering Haeberli overall structure from a photograph, texture from a brush the basis for Fractal Design’s (then Meta Creation’s) Painter program Salesin et al illustrate from 1994 paper overall structure from a 3D model, texture by randomizing the shading Meier front cover of Siggraph ’96 overall structure from a 3D model, texture from a brush (and shading)
early 1990s - non-photorealistic rendering Drebin et al. (1988), Levoy (1988) - volume rendering Haeberli (1990) - impressionistic paint programs Salesin et al. (1994-) - automatic pen-and-ink illustration Meier (1996) - painterly rendering late 1990s - image-based rendering Chen and Williams (1993) - view interpolation McMillan and Bishop (1995) - plenoptic modeling Levoy and Hanrahan (1996) - light field rendering 2000s – image/video applications “PhotoTourismFull.avi”
The graphics pipeline the traditional pipeline the new pipeline modeling animation rendering 3D scanning motion capture image-based rendering
The three big topics in CG Modeling 객체를 표현하는 방법 표현방법을 고안하는 것 Animation 움직이는 것을 표현하고 제어 Rendering 이미지를 창조하는 것
Topics Drawing Transformations Input Interaction Color Displays Exposure Imaging Modeling Animation Rendering
Drawing: Modern PC
Drawing: Game Machines – Xbox 360
Drawing: Game Machines – PS3
Drawing 기하학적 모양 Images Bitmaps
Line Drawing/Triangle drawing
Anti-aliasing Line/triangle drawing is jaggy algorithm 울퉁불퉁한 경계를 줄이기 위하여, 부분적으로 pixel 색칠함 픽셀이 삼각형의 가운데에 위치할 때는 fully 픽셀이 삼각형의 바깥부분에 위치할 때는 partially
Drawing: Simplified Pipeline
Transformations What? x’ = T(x) => x 란 모델을 T 란 transformation 을 이용하여 x’로 변경 Why? Modeling 편리한 좌표계에 객체 생성 프로토타입 모델을 여러 개 생성 Robots 처럼 여러 객체를 연결하여 모델 만듬 Viewing 위치, 시점을 변경 “staris1.avi, final.avi”
Transformations Scale Rotate Translate
Transformations Shear Reflect
Typography Renaissance Modern
Input Technology: Keyboards
Input Technology: Keyboard Matrix
Input Technology: Position 4-way and 8-way Joystick
Input Technology: Position trackball
Input Technology: Position Douglas Engelbart Mouse(1964) Mechanical Mouse
Input Technology: Position 광마우스 1st generation (Xerox) LED + photosensor over grid of lines 2nd generation (Agilent) CMOS imager 1500 frames per second 16 x 16 pixel resolution 300 count per inch (cpi)
Input Technology: Position Analog Joystick Gamepads
Input Technology: Position Wii 콘트롤러 Sensors 3 DOF 이동 3 DOF 회전 포인팅
Interactive Techniques: Measure and Trigger Polling 주기적으로 디바이스의 상태를 읽음 마우스 microcontroller는 메시지를 100Hz 마다 보냄 버튼의 상태 마우스의 움직임 Events 키보드는 “make” 와 “break” 라는 메시지를 보냄
Interactive Techniques: Flash components
Interactive Techniques: HTML Form Elements
Color:Light
Color:Electromagnetic Spectrum 가시광선
Color:Sources
Color: Adding Light
RGB color Additive manner RGB coordinates R + G = Y G + B = C B + R = M R + G + B = W RGB coordinates Black = (0,0,0) Red = Green = Blue = Yellow = Magenta= Cyan = White =
The alpha channel 영상의 일부만 덮어쓸 때 Opaque 픽셀 in foreground Background 픽셀 대체 Transparent 픽셀 in foreground Background 픽셀 ? Partially transparent 픽셀 in foreground Color = alpha*(foreground color) +(1-alpha)*(background color) RGBA 란?
RGBA
Color: Light
Color: 인식 Color 매칭 세 프라이머리의 brightness 를 조절하여 C 라는 색상과 “매칭” Lasers: R =700nm, G =546nm, B=435nm 따라서, 사람은 trichromatic color vision
Color: Absolute Color Space Spectral locus Regional inside locus All possible colors Human gamut 사람이 지각색상범위 CIEXYZ color space
Color:인지적 구조
Color: Munsell Color Space Book of painted chips Perceptually uniform Hue Chroma vs. Value
Color: Art Intuitive Color Spaces
색상모델 HSB 방식 HSV 방식 - 색조(hue: 특정 컬러), 채도(saturation: 컬러 강도 결정), 명도(brightness: 흑백/밝기의 비율)로 컬러 표현 - 원뿔 꼭지점 연결한 수직축이 명도, 원뿔 중심으로부터 거리가 채도, 원뿔 중심에서 각도에 의해 색조 결정 HSV 방식
Display: Resolution 색상과 인텐시티 레졸루션 Spatial 레졸루션: (x,y) Temporal 레졸루션: t 물리적 제한: 색상 “pigments”, 1-bit vs. n-bit tones 사람 제한 : 사람이 차이를 느끼는 정도 Spatial 레졸루션: (x,y) 물리적 제한: 픽셀 크기와 레졸루션 사람 제한 : photoreceptor 밀도 + 광 Temporal 레졸루션: t 물리적 제한: 필름의 전달, 채널의 bandwidth 사람 제한 : 신경세포의 반응 속도
Display: Contrast Sensitivity Function
Display: Image Resolutions in Practice Television NTSC 640x480x8b 1/4MB HDTV-1 1280x720x8b ~1MB HDTV-2 1920x1080x8b ~2MB Computers VGA 640x480x24b ~3/4MB XGA 1024x768x24b ~2.5MB SXGA 1280x1024x24b ~4MB UXGA 1600x1280x24b ~6MB Laser printers 300 dpi (8.5’’x300)(11’’x300)x1b 1.05MB 2400dpi (8.5’’x24000(11’’x2400)x1b ~64MB Film(line pairs/mm) 35mm(diagonal) slides(ASA25~125 lp/mm) = 3000 3000 x 2000 x 3 x 12b ~27 MB dpi : dots per inch, MB: mega byte, b: bit
Display: IBM T221 Resolution: 3840 x 2400 (QXGA) Size : 21.5’’ x 17.3 ‘’(204 dpi)
Display: PowerWall
Display: CRT
Temporal Resolution 치명적인 flicker(떨림 현상) 퓨전 rate High 주변광원 : 80Hz Low 주변광원 : 20-30 Hz (진동수) Frames per second(FPS) : 초당 프레임 Film(double framed) 24 FPS TV(interlaced) 30 FPS x ¼ = 8MB/s Workstation(non-interlaced) 75FPS x 5 = 375MB/s
Display LCD,DLP Laser Projector Virtual retinal display OLED Electronic ink
Monitor intensities and gamma 입력 intensity “0”black , “1”white 입력 intensity 0, 0.5, 1.0 display intensity 0, 0.25, 1.0 => why???? Displayed intensity = (maximum intensity)ar 즉, 감마 r=2, 입력 intensity a=0.5 display intensity 는? LCD 모니터, 프로젝터, 주변 조명, … Maximum intensity 란?
Exposure and Tone Mapping
Exposure: Real word = high dynamic range
Exposure:Perception intensities contrast
Exposure: 조리개(Aperture) vs. 셔터스피드(shutter) 셔터가 빠르면 조리개가 더 많이 열려있어야 함…
Exposure: HDR(High dynamic range) 영상생성 16 개의 사진 촬영 셔터를 30s 부터 1/1000s 까지 바꾸면서 촬영
Exposure:결과 HDR 영성
Exposure: World’s First HDR Display – DR37-P
Matting 정의: foreground 과 background 결합 예제: 그래픽 아트 : 마스크, 스텐실 영화: 합성 및 매팅, 블루스크린 비디오: chroma-keying 애니메이션: 셀 컴퓨터 그래픽스: Alpha 채널 Demo: Photoshop selections, masks, layers
Matting:Composing Two Elements
생활 속의 컴퓨터 그래픽스 벅스라이프(Pixar Studio)
- An element that features a minature of the ship - An intermediate element that contains computer-generated water and an animated sky
- An computer-generated dock element - An element used to control the atmosphere on the dock - An element featuring people that were on the ship - An element featuring a group of people on the dock
A Composite scene from james and the Giant peach
the giant mechanical shark the water
The peach A matte of the peach
The sky
생활 속의 컴퓨터 그래픽스 영화 End of Days의 교회장면은 3D raser rangefinder로 모델링
· 영화의 특수효과를 위한 대형 세트의 디지털라이징 · 캘리포니아 버클리 Tippett 스튜디오 · 대형 동굴의 디지털화를 통한 프로젝트 예산 및 스케쥴 단축
(developed at Digital Domain : Titanic) 3D Tracking Software (developed at Digital Domain : Titanic)
Examples of Special Effects · Mattepainting 2D : Devil’s advocate 3D : The Trumanshow
Examples of Special Effects · Blue screen Gladiator
Examples of Special Effects · Green screen The Hollowman
Video