Presentation is loading. Please wait.

Presentation is loading. Please wait.

David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke

Similar presentations


Presentation on theme: "David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke"— Presentation transcript:

1 David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu http://www.cs.virginia.edu/~cs551

2 David Luebke12/3/2015 Administrivia Bio sheets Name tents Show the syllabus –Instructor/TA coordinates –Prereqs –Text –Grading & Honor Code –Topic list –Assignments

3 David Luebke12/3/2015 Questions?

4 David Luebke12/3/2015 The Basics This course is about: –Algorithms and data structures for presenting data visually on a computer This course is not about: –Using graphic design programs like Photoshop or 3-D Studio Max –Using graphics APIs like OpenGL or Direct3D (though we will learn a little OpenGL)

5 David Luebke12/3/2015 The Basics Computer graphics: generating 2D images of a 3D world represented in a computer. Main tasks: –modeling: creating and representing the geometry of objects in the 3D world –rendering: generating 2D images of the objects –animation: describing how objects change in time

6 David Luebke12/3/2015 Why Study Computer Graphics? Graphics is cool –I like to see what I’m doing –I like to show people what I’m doing Graphics is interesting –Involves simulation, algorithms, architecture… Graphics is important –Just ask Intel… Graphics is fun –Roll the video…

7 David Luebke12/3/2015 Graphics Applications Entertainment: Cinema Pixar: Geri’s Game Universal: Jurassic Park

8 David Luebke12/3/2015 Graphics Applications Entertainment: Games Cyan: Riven id: Quake II

9 David Luebke12/3/2015 Graphics Applications Medical Visualization MIT: Image-Guided Surgery Project The Visible Human Project

10 David Luebke12/3/2015 Graphics Applications Computer Aided Design (CAD)

11 David Luebke12/3/2015 Graphics Applications Scientific Visualization

12 David Luebke12/3/2015 Trick Question What’s a pixel?

13 David Luebke12/3/2015 Display Technologies Cathode Ray Tubes (CRTs) –Most common display device today –Evacuated glass bottle (last of the vacuum tubes) –Heating element (filament) –Electrons pulled towards anode focusing cylinder –Vertical and horizontal deflection plates –Beam strikes phosphor coating on front of tube

14 David Luebke12/3/2015 Display Technologies: CRTs Vector Displays –Anybody remember Battlezone? Tempest? –Early computer displays: basically an oscilloscope –Control X,Y with vertical/horizontal plate voltage –Often used intensity as Z –Show: http://graphics.lcs.mit.edu/classes/6.837/F98/Lecture1/Slide11.html http://graphics.lcs.mit.edu/classes/6.837/F98/Lecture1/Slide11.html Name two disadvantages Just does wireframe Complex scenes  visible flicker

15 David Luebke12/3/2015 Display Technologies: CRTs Raster Displays –Black and white television: an oscilloscope with a fixed scan pattern: left to right, top to bottom –Paint entire screen 30 times/sec Actually, TVs paint top-to-bottom 60 times/sec, alternating between even and odd scanlines This is called interlacing. It’s a hack. Why do it? –To paint the screen, computer needs to synchronize with the scanning pattern of raster Solution: special memory to buffer image with scan-out synchronous to the raster. We call this the framebuffer.

16 David Luebke12/3/2015 Display Technology: Color CRTs Color CRTs are much more complicated –Requires manufacturing very precise geometry –Uses a pattern of color phosphors on the screen: –Why red, green, and blue phosphors? Delta electron gun arrangementIn-line electron gun arrangement

17 David Luebke12/3/2015 Display Technology: Color CRTs Color CRTs have –Three electron guns –A metal shadow mask to differentiate the beams

18 David Luebke12/3/2015 Display Technology: Raster Raster CRT pros: –Allows solids, not just wireframes –Leverages low-cost CRT technology (i.e., TVs) –Bright! Display emits light Cons: –Requires screen-size memory array –Discreet sampling (pixels) –Practical limit on size (call it 40 inches) –Bulky –Finicky (convergence, warp, etc)

19 David Luebke12/3/2015 Display Technology: LCDs Liquid Crystal Displays (LCDs) –LCDs: organic molecules, naturally in crystalline state, that liquefy when excited by heat or E field –Crystalline state twists polarized light 90º.

20 David Luebke12/3/2015 Display Technology: LCDs Liquid Crystal Displays (LCDs) –LCDs: organic molecules, naturally in crystalline state, that liquefy when excited by heat or E field –Crystalline state twists polarized light 90º

21 David Luebke12/3/2015 Display Technology: LCDs Transmissive & reflective LCDs: –LCDs act as light valves, not light emitters, and thus rely on an external light source. –Laptop screen: backlit, transmissive display –Palm Pilot/Game Boy: reflective display

22 David Luebke12/3/2015 Display Technology: Plasma Plasma display panels –Similar in principle to fluorescent light tubes –Small gas-filled capsules are excited by electric field, emits UV light –UV excites phosphor –Phosphor relaxes, emits some other color

23 David Luebke12/3/2015 Display Technology Plasma Display Panel Pros –Large viewing angle –Good for large-format displays –Fairly bright Cons –Expensive –Large pixels (~1 mm versus ~0.2 mm) –Phosphors gradually deplete –Less bright than CRTs, using more power

24 David Luebke12/3/2015 Display Technology: DMDs Digital Micromirror Devices (projectors) –Microelectromechanical (MEM) devices, fabricated with VLSI techniques

25 David Luebke12/3/2015 Display Technology: DMDs DMDs are truly digital pixels Vary grey levels by modulating pulse length Color: multiple chips, or color-wheel Great resolution Very bright Flicker problems

26 David Luebke12/3/2015 Display Technologies: Organic LED Arrays Organic Light-Emitting Diode (OLED) Arrays –The display of the future? Many think so. –OLEDs function like regular semiconductor LEDs –But with thin-film polymer construction: Thin-film deposition or vacuum deposition process…not grown like a crystal, no high-temperature doping Thus, easier to create large-area OLEDs

27 David Luebke12/3/2015 Display Technologies: Organic LED Arrays OLED pros: –Transparent –Flexible –Light-emitting, and quite bright (daylight visible) –Large viewing angle –Fast (< 1 microsecond off-on-off) –Can be made large or small OLED cons: –Not quite there yet (96x64 displays…) –Not very robust, display lifetime a key issue

28 David Luebke12/3/2015 Framebuffers So far we’ve talked about the physical display device How does the interface between the device and the computer’s notion of an image look? Framebuffer: A memory array in which the computer stores an image –On most computers, separate memory bank from main memory (why?) –Many different variations, motivated by cost of memory

29 David Luebke12/3/2015 Framebuffers: True-Color A true-color (aka 24-bit or 32-bit) framebuffer stores one byte each for red, green, and blue Each pixel can thus be one of 2 24 colors Pay attention to Endian-ness How can 24-bit and 32-bit mean the same thing here?

30 David Luebke12/3/2015 Framebuffers: Indexed-Color An indexed-color (8-bit or PseudoColor) framebuffer stores one byte per pixel This byte indexes into a color map: How many colors can a pixel be? Cute trick: color-map animation

31 David Luebke12/3/2015 Framebuffers: Hi-Color Hi-Color is a popular PC SVGA standard Packs R,G,B into 16-bits with 5 bits/channel: Each pixel can be one of 2 15 colors Hi-color images can exhibit worse quantization artifacts than a well-mapped 8-bit image

32 David Luebke12/3/2015 UNIX You should familiarize yourself with UNIX –Getting around: cd, mkdir/rmdir, cp/mv/rm –Using make and Makefiles –Using gdb –Carlton will be available to help with this in the lab We will use 2 libraries: OpenGL and Xforms –OpenGL native on SGIs; on other platforms Mesa

33 David Luebke12/3/2015 XForms Intro Xforms: a toolkit for easily building Graphical User Interfaces, or GUIs –See http://bragg.phys.uwm.edu/xformshttp://bragg.phys.uwm.edu/xforms –Lots of widgets: buttons, sliders, menus, etc. –Plus, an OpenGL canvas widget that gives us a viewport or context to draw into with GL or Mesa. Quick tour now You’ll learn the details yourself in Assignment 1


Download ppt "David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke"

Similar presentations


Ads by Google