920 likes | 924 Vues
Motivation: Entertainment. Motivation: Computer-Aided Design. Computer-aided design CAD Visual simulation and Training 우주선 , 비행 시뮬레이션 자동차 운전 , 골프 시뮬레이션 수술 시뮬레이션. Motivation: Digital Media Technologies. Traditional media (analog to digital transition) Desktop publishing and printing
E N D
Motivation: Computer-Aided Design • 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 • 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
[Nayar00] Input hardware • 2D • 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
• negative film = 130:1 (7 stops) • paper prints = 46:1 • [Debevec97] = 250,000:1 (18 stops)
1mm 0.3mm Input hardware 3mm mesh • 2D • 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
Input hardware • 2D • 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
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
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
early 1980s - global illumination • Whitted (1980) - ray tracing • Goral, Torrance et al. (1984), Cohen (1985) - radiosity • Kajiya (1986) - the rendering equation
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 → 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
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
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 traditional pipeline the new pipeline The graphics pipeline modeling animation rendering 3Dscanning motioncapture 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 기하학적 모양 Images Bitmaps
Anti-aliasing Line/triangle drawing is jaggy algorithm • 울퉁불퉁한 경계를 줄이기 위하여, 부분적으로 pixel 색칠함 • 픽셀이 삼각형의 가운데에 위치할 때는 fully • 픽셀이 삼각형의 바깥부분에 위치할 때는 partially
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: 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 Gamepads Analog Joystick
Input Technology: Position Wii 콘트롤러 Sensors 3 DOF 이동 3 DOF 회전 포인팅
Interactive Techniques: Measure and Trigger • Polling • 주기적으로 디바이스의 상태를 읽음 • 마우스 microcontroller는 메시지를 100Hz 마다 보냄 • 버튼의 상태 • 마우스의 움직임 • Events • 키보드는 “make” 와 “break” 라는 메시지를 보냄
RGB color • Additive manner • 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 란?