david luebke12/3/2015 cs 551 / 645: introductory computer graphics david luebke...

33
David Luebke 06/18/22 CS 551 / 645: Introductory Computer Graphics David Luebke [email protected] http://www.cs.virginia.edu/~cs551

Upload: sharon-day

Post on 13-Dec-2015

229 views

Category:

Documents


1 download

TRANSCRIPT

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

David Luebke 04/18/23

CS 551 / 645: Introductory Computer Graphics

David Luebke

[email protected]

http://www.cs.virginia.edu/~cs551

Page 2: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

Administrivia

Bio sheets Name tents Show the syllabus

– Instructor/TA coordinates– Prereqs– Text– Grading & Honor Code– Topic list– Assignments

Page 3: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

Questions?

Page 4: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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)

Page 5: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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

Page 6: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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…

Page 7: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

Graphics Applications

Entertainment: Cinema

Pixar: Geri’s Game

Universal: Jurassic Park

Page 8: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

Graphics Applications

Entertainment: Games

Cyan: Riven

id: Quake II

Page 9: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

Graphics Applications

Medical Visualization

MIT: Image-Guided Surgery Project

Th

e V

isib

le H

um

an

Pro

jec

t

Page 10: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

Graphics Applications

Computer Aided Design (CAD)

Page 11: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

Graphics Applications

Scientific Visualization

Page 12: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

Trick Question

What’s a pixel?

Page 13: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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

Page 14: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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

Name two disadvantages Just does wireframe

Complex scenes visible flicker

Page 15: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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.

Page 16: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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 arrangement In-line electron gun arrangement

Page 17: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

Display Technology: Color CRTs

Color CRTs have– Three electron guns– A metal shadow mask to differentiate the beams

Page 18: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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)

Page 19: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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º.

Page 20: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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º

Page 21: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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

Page 22: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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

Page 23: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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

Page 24: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

Display Technology: DMDs

Digital Micromirror Devices (projectors)– Microelectromechanical (MEM) devices,

fabricated with VLSI techniques

Page 25: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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

Page 26: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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

Page 27: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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

Page 28: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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

Page 29: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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 224 colors Pay attention to

Endian-ness How can 24-bit

and 32-bit mean the same thing here?

Page 30: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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

Page 31: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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 215 colors Hi-color images can exhibit worse quantization

artifacts than a well-mapped 8-bit image

Page 32: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

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

Page 33: David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu cs551

David Luebke 04/18/23

XForms Intro

Xforms: a toolkit for easily building Graphical User Interfaces, or GUIs– See http://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