1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer...

54
1 The big picture
  • date post

    20-Jan-2016
  • Category

    Documents

  • view

    220
  • download

    0

Transcript of 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer...

Page 1: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

1

The big picture

Page 2: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

2

Agenda

What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for computer graphics

Hardware Outputs and Inputs

Software Device independent graphics

Driving forces of computer graphics Types of computer graphics

Vector Primitives

Raster Pixels

Page 3: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

3

What is Computer Graphics?

A field of study that deals with the pictures generated by a computer and the tools used to make and present them.

The pillars of computer graphics are: Modelling geometric objects:

Generation Manipulation Storage

Rendering the models into images Displaying the rendered images Processing images (!); Improve or alter images created

elsewhere: Remove noise from an image, enhance its contrast, sharpen its

edges, and fix its colors. Search for certain features in an image, and highlight them to

make them more noticeable or understandable.

Page 4: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

4

Interdisciplinary: Theory & Practice

Science Physics of light, color and appearance Geometry and perspective Mathematics of curves and surfaces

Engineering Hardware: Graphics/media processors Software: Graphics libraries, window systems

Art and Perception/psychology Color: harmony and perception Composition, lighting, ...

Page 5: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

5

Programmer’s View

Applicaton

Graphics Package

(OpenGL/DirectX) Application Programming Interface

Hardware and software

Output Device Input Device

Applicaton

Input Device

Page 6: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

6

Computer Graphics Tools

They are divided into: hardware software.

Hardware tools: Output devices: display graphics

video monitors Graphics (video) cards printers

input devices: let users point to items and draw figures mouse data glove trackball

Page 7: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

7

More on Hardware Tools Dual power for graphics: CPU and GPU CPU (Central Processing Unit)

Newest processors are 64-bit, dual/quad/8 core Server: Dual-Core Intel Itanium 2™, Dual-Core Intel Xeon™, Dual-Core AMD Opteron™,

Sun UltraSPARC T1™ Desktop: Intel Core 2 Duo™, AMD Athlon64 X2™, IBM G5™, Mac ProTM Quad/8-Core

GPU (Graphics Processing Unit) Offloads graphics processing and display from CPU More in GPU than in CPU Programmable units

developers can program their own pixel and vertex shaders Bus (AGP and PCIe) Physics Processing Unit (PPU) and Artificial Intelligence Processing Unit (Future?)

Page 8: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

8

Computer Graphics Tools

Software tools: the operating system, editor, compiler, and debugger you commonly use. Graphics routines: e.g., functions to draw a

simple line or circle (or characters such as G). Functions to manage windows with pull-down

menus, input, and dialog boxes. Functions to allow the programmer to set up a

camera in 3D coordinate system and take snapshots of objects.

Page 9: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

9

Device Independent Graphics

Device independent graphics libraries that allow the programmer to use a common set of functions within an application, and to run the same application on a variety of systems and displays.

OpenGL is such a library. The OpenGL way of creating graphics is used widely in both academia and industry.

Page 10: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

10

What Drives Computer Graphics?

Movie Industry: Computer graphics takes our imagination even further: imagine and code! Leaders in quality and artistry Big budgets and tight schedules Reminder that there is more to CG

than technology

Page 11: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

11

Game Industry The newest driving force in CG

Why? Volume and Profit This is why we have commodity GPUs

Focus on interactivity Avoiding computing and other tricks Cost-effective solutions

What Drives Computer Graphics?

Page 12: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

12

Medical Imaging and Scientific Visualization Tools for teaching and diagnosis

Virtual surgeries New data representations and modalities Drive issues of precision and correctness Focus on presentation and interpretation of data Construction of models from acquired data

What Drives Computer Graphics?

Page 13: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

13

Computer Aided Design Mechanical and Electronic systems, Architecture,... Drives the high end of the hardware market Reduced design cycles

What Drives Computer Graphics?

Page 14: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

14

Graphical User Interfaces (GUI) Browsing on the World Wide Web Slide, Book, and Magazine Design

Page layout Paint systems (Photoshop)

Leapfrog PadTM

Blackberry PearlTMHP I-PaqTM Apple iPhoneTM

What Drives Computer Graphics?

Page 15: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

15

More: Process Monitoring

Highly complex systems such as air traffic control systems and chemical plants must be monitored by a human to watch for impending trouble

An air traffic control system consists of monitors that display where nearby planes are situated The user sees a schematic representation for the

process, giving the whole picture at a glance Various icons can flash or change color to alert the user

to changes that need attention

Page 16: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

16

More: Displaying Simulations

Flight simulators: the system is a plane with a shape and flying characteristics, along with a world consisting of a landing field, mountains, other planes, and air, all modeled appropriately.

Page 17: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

17

More: Displaying Mathematical Functions E.g., Mathematica®

Page 18: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

18

Presentation Options

Frame-by-frame: A single frame can be drawn while the user waits. (very boring)

Frame-by-frame under control of the user: A sequence of frames can be drawn, as in a PowerPoint® presentation; the user presses a key to move onto the next slide, but otherwise has no way of interacting with the slides. (much less boring)

Page 19: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

19

Presentation Options

Animation: A sequence of frames proceeds at a particular rate while the user watches with delight; (exciting, as in such animated movies as The Incredibles and Shrek )

Interactive Program: In an interactive graphics experience, the user controls the flow from one frame to another using an input device such as a mouse or keyboard in a manner that was unpredictable at the time the program was written. This can delight the eye. A computer game is a familiar case of an interactive graphics presentation. (delightful!)

Page 20: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

20

Graphics Types

Vector Graphics Specify the content of the image using

Primitive shapes such points, lines, circles, etc. Their size Their positions

Resolution independent Has to be translated into a raster image before displayed

(rendering) OpenGL, SVG, PS, VRML, etc.

Raster Graphics Specify the content as a 2D array of pixels (picture elements) Resolution dependent Often provides rich details Bmp, gif, jpeg, etc.

Page 21: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

21

Raster image

Image attributes Image resolution: the size of the 2D array

Example: 640x480 Pixel depth: the number of bits per pixel

1 bit : Monochromatic image 8 bits: grey-scale image, 0-255

Display attributes display resolution: e.g., 1024x768 dot per inch: e.g., 600dpi dot pitch: e.g., .28mm Aspect ratio: width/height

Page 22: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

22

Raster Image

Larger values correspond to brighter areas whilst lower values are darker

Page 23: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

23

Pixel is represented by bits

Black-white (monochrome): 1-bit Grayscale: e.g., 8-bit (true) color

e.g., 8-bit each for RGB; i.e., 24-bit total 32-bit total with alpha channel

(pseudo) color e.g., 8-bit in total for (pseudo) RGB with lookup table/colormap

Page 24: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

24

Color space: RGB

Red, Green and Blue human eyes have three types of “light sensors” sensitive to red, green and blue, respectively

Encode the colors differently

Primary color mixing RGB to get other colors additive color used in CRT and other display devices

Page 25: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

25

Pixel Depth

An image with 8 bits per pixel may be reduced to fewer bits per pixel by truncating values.

Gradations of gray may change to a uniform shade of gray.

Below: 6, 3, 2, and 1 bit per pixel..

Page 26: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

26

Creating Raster Images

Hand designed images using a painting tool. Computed images, using an algorithm. Scanned images.

Page 27: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

27

The “Jaggies”

Any close-up version of a rater image will show that the image is composed of pixels rather than lines. Thus the lines also appear jagged (the Jaggies).

Page 28: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

28

Elements of Vector Graphics

Output primitives: Points Lines Polylines and Polygons Graphical text filled regions

Attributes: how an output primitive appears; Color: What color is it? Texture: Is it smooth, or does it have lines, bumps,

craters or some other irregularity on the surface? Reflectance: How much light does it reflect? Are

reflections of other items in the surface sharp or fuzzy?

Page 29: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

29

Page 30: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

30

Polylines

A polyline is a connected sequence of straight lines.

Page 31: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

31

Polylines

A polyline, when rendered, can appear to the eye as a smooth curve. This figure shows a magnification of a curve revealing its underlying short line segments.

blow-up

Page 32: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

32

Polylines

Simplest polyline: a single straight line segment. A line segment is specified by its two endpoints, say (x1,

y1) and (x2, y2). So, to draw a line you need to specify the two points (vertices) (x1, y1) and (x2, y2).

A triangle is a set of three vertices A rectangle is a set of four vertices Intersection points are called vertices. Each line is called an edge. Polylines are specified as a list of vertices. A polygon has its first and last points connected by an

edge. If no two edges cross, the polygon is called simple.

A).

B).

E).

D).

C).

Page 33: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

33

Polyline Attributes

Color, thickness and stippling of edges, and the manner in which thick edges blend together at their endpoints.

Typically all the edges of a polyline are given the same attributes.

Page 34: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

34

Polyline Attributes (2)

Joining ends: “butt-end”, rounded ends, mitered joint, and trimmed mitered joint.

a). b). c). d).

Page 35: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

35

Text

Some graphics devices have both a text mode and a graphics mode.

Text in text mode uses a built-in character generator.

Text in graphics mode is drawn.

.

Outlined text

Shadow Text

SMALL CAPS

Little Text

Rotated Text

Big Text

Page 36: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

36

Text Attributes

Font, color, size, spacing, and orientation. Font: Allegro or English Script Orientation: Characters/strings may be drawn

tilted (e.g., vertically). Characters are defined by a set of polylines

or by dots.

B

Page 37: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

37

Filled Regions

The filled region (sometimes called fill area) primitive is a shape filled with some color or pattern.

Example: polygonsA

DC

B

Page 38: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

38

Graphics Output Devices

Graphics output devices are either Line-drawing (or vector-drawing) devices raster devices.

Line-drawing devices: Pen plotter, which moves an ink pen across a

(large) sheet of paper. (E.g., seismic wave plotters.)

Vector video device, which moves a beam of electrons across the screen from any one point to any other point, leaving a glowing trail.

Page 39: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

39

Graphics Output Devices

Raster devices: Computer monitor: moves a beam of electrons

across the screen from left to right and top to bottom.

Printer: does the same thing with ink or toner. Coordinate system used:

0 639

479

0 sx

sy

Page 40: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

40

Graphics Display Devices

Raster displays are always connected to a frame buffer, a region of memory sufficiently large to hold all the pixel values for the display. The frame buffer may be physical memory on-

board the display or in the host computer. Alternatively, a graphics card installed in a

personal computer might house the frame buffer.

Page 41: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

41

Graphics Display Devices

Each instruction of the graphics program (stored in system memory) is executed by the central processing unit (CPU), storing an appropriate value for each pixel into the frame buffer.

A scan controller (not under program control) causes the frame buffer to send each pixel through a converter to the appropriate physical location on the display surface.

The converter takes a pixel value such as 01001011 and converts it to the corresponding color value quantity that produces a spot of color on the display.

Page 42: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

42

Function of Scan Controller

scancontroller

CPU Systemmemory

framebuffer

displaysurface

converter

system bus

Page 43: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

43

Graphics Display Device Operation

frame buffer

pixel at address [x,y]

0 639

479

0 x

ydisplay surface

scancontroller

x

y

x

y

spot at (x,y)

geometricpositionlogical

address

at (639, 0)

at (639, 479)

convert pixelvalue to color

Page 44: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

44

Video Monitor Operation

Based on cathode ray tube (CRT).

framebuffer(6 planes)

DAC's

scan controllerx

y

y

x

deflectioncoils

electronbeamguns

red

green

bluespot

pixelvalue

Page 45: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

45

Video Monitor Operation (2)

The digital frame buffer value is converted to an analog voltage for each of R, G, and B by the DAC. Electron guns for each color are deflected to the appropriate screen location.

The process is repeated 60 times each second to prevent flicker.

Page 46: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

46

Data Transfer Accelerators

Using 24- or 32-bit color requires that large amounts of data be transferred very fast between computer and display.

Fast buses and graphics cards can improve the transfer speed.

The cards implement the graphics pipeline: the nature of the processing steps to display the image and the order in which they must occur (specified by the graphics language, e.g., OpenGL).

Page 47: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

47

Flat Panel Displays

Flat panel displays: use a mesh of wires to set color of a pixel.

012345678

0 12

3456

7 8

verticalgridwires

horizontalgridwires

plate with"display" material

observer

Page 48: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

48

Hard Copy Raster Devices

In graphics, to reproduce a scene with colors we want a color laser or inkjet printer.

Printers equipped with PostScript (a page description language) can generate high quality text and graphics on a printed page.

A film recorder uses a strip of photographic film, exposed by the electron beam as it sweeps over it (once) in a raster pattern. Film recorders are frequently used to make high-quality slides and movies.

Page 49: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

49

Graphics Input Types

Classified according to the data sent to the program: String: a string of characters followed by a termination

character typed in by the user and stored in memory (keyboard). Valuator: a real value between 0.0 and 1.0, which can be used to

fix the length of a line, the speed of an action, or perhaps the size of a picture (a data glove, a knob).

Locator: a coordinate pair (x, y) which enables the user to point to a position on the display (mouse).

Pick: identifies a portion of a picture for further processing (e.g., touchscreen). Some graphics packages allow a picture to be defined in terms

of segments, which are groups of related graphics primitives.

Page 50: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

50

Graphics Input Devices

Mouse: changes in position. Software keeps track of the mouse's position

and moves a graphics cursor — a small dot or cross — on the screen accordingly.

The mouse is most often used to perform a locate function. There are usually buttons on the mouse that the user can press to trigger the action.

Page 51: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

51

Graphics Input Devices

Keyboard: strings of characters; Some keyboards have cursor keys or function

keys, which can be used to produce pick input primitives.

Buttons. Sometimes a separate bank of buttons is installed on a workstation. The user presses one of the buttons to perform a pick input function.

Page 52: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

52

Graphics Input Devices

Tablet: locate input primitives. A tablet provides an area on which the user can slide a stylus. The tip of the stylus contains a micro switch. By pressing down on the stylus the user can trigger the locate.

Page 53: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

53

Graphics Input Devices (4)

Joystick and Trackball: locate and valuator devices.

Page 54: 1 The big picture. 2 Agenda What is (are) computer graphics? Disciplines involved in computer graphics Programmer’s View of computer graphics Tools for.

54

3-D Graphics Input Devices

A laser beam scans over the solid object in an x, y raster pattern, measuring the distance between the image capture device and the object

Capturing motion: a device that can track the position of many points on a moving body in real-time, saving the motion for animation or data analysis.