interactive computer graphics l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Interactive Computer Graphics PowerPoint Presentation
Download Presentation
Interactive Computer Graphics

Loading in 2 Seconds...

play fullscreen
1 / 61

Interactive Computer Graphics - PowerPoint PPT Presentation


  • 686 Views
  • Uploaded on

Interactive Computer Graphics Instructor: Amin Hammad E-mail: hammad@cmu.edu URL: hammad.ce.cmu.edu Office Hours: Room 747 Monday 9:00-11:00 (or by appointment) Administrivia of Course Website (hammad.ce.cmu.edu) TA: Cholyeun Hongpisanwiwat cholyeun@sis.pitt.edu

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Interactive Computer Graphics' - albert


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
interactive computer graphics

Interactive Computer Graphics

Instructor: Amin Hammad

E-mail: hammad@cmu.edu

URL: hammad.ce.cmu.edu

Office Hours: Room 747

Monday 9:00-11:00 (or by appointment)

administrivia of course
Administrivia of Course
  • Website (hammad.ce.cmu.edu)
  • TA: Cholyeun Hongpisanwiwat

cholyeun@sis.pitt.edu

  • Office Hours: Monday 9:00-11:00 (or by appointment)
  • Book: Interactive Computer Graphics (Edward Angel)
  • Collaboration Policy
  • Grading: Assignments (45%) + Tests (40%)

+ Quizzes (15%)

  • Difficulty/Time required
  • Programming environment (mainly Visual C++)
  • Questions?
what is computer graphics
What is Computer Graphics?
  • Anything to do with visual representations on a computer, including
    • Text (e.g. Japanese characters 大学)
    • GUIs
    • Computer Images
    • 3D Graphics: CG special effects, games, animations
    • Scientific Visualization
    • Algorithms, theory (physics, math, computation)
    • Display devices, hardware (graphics cards, monitors)
course outline
Course Outline
  • Graphics Systems and Models
  • Graphics Programming
  • Input and Interaction
  • Geometric Objects and Transformation
  • Viewing
  • Shading
  • Advanced Topics (Object-oriented graphics, texture mapping, curves, etc.)
contents
Contents
  • General Overview: History and applications of CG
  • Graphics Systems
  • Colors Perception
  • Computer Colors: RGB and HSL
  • OpenGL Introduction
  • Some CG demos.

Reading: Angel 1, 2.4

historical background sketchpad
Historical Background: Sketchpad
  • Ivan Sutherland, 1963, MIT:

“Sketchpad: A man machine

Graphical communications system”

(first interactive graphics thesis,

included many GUI concepts)

Inspired many early graphics researchers

  • Sutherland also pioneered VR and hidden surface problems
  • 1988 Turing award “for his pioneering and visionary contributions to computer graphics, starting with sketchpad…”
from text to guis
From Text to GUIs
  • Xerox Star: First workstation with GUI
  • Invented at PARC in 1975. Used in the Apple Macintosh, and now MS Windows.

Xerox Star

Windows 1.0

graphical applications
Graphical applications
  • Presentations (bar charts, graphs, Powerpoint)
  • Scientific Visualization

Compressible flow around

Space shuttle

science.gmu.edu

3 d graphics
3D Graphics
  • Maybe what we generally consider CG
  • Currently important in
    • Design (CAD)
    • Education, Simulators, VR
    • Games
    • Entertainment (Movies), Art
effects needed for realism
Effects needed for Realism
  • Shadows
  • Reflections (Mirrors)
  • Transparency
  • Detail (Textures etc.)
  • Complex Illumination
  • Realistic Materials

The light of Mies van der Rohe

Modeling: Stephen Duck

Rendering: Henrik Wann Jensen

photorealistic rendering

Geometry

70s, 80s: Splines

90s: Range Data

Rendering Algorithm

80s,90s: Physically-based

Materials/Lighting

(Texture, reflectance, Lighting)

Realistic Input Models Required

Arnold Renderer: Marcos Fajardo

Photorealistic Rendering
interactive cg systems

Output Devices

Processor

Frame

Buffer

Memory

Interactive CG Systems

Input Devices

Cathode Ray Tube (CRT)

Liquid Crystal Display (LCD)

cathode ray tube crt
Cathode Ray Tube (CRT)

Electron Gun

Phosphor

Field

cathode ray tube crt15
Cathode Ray Tube (CRT)

Electron Gun

Phosphor

Field

Deflectors

phosphors decay
Phosphors Decay
  • Light coming from a single phosphor does not last long.
  • Human eye can detect a difference within 20 milliseconds
  • To appear without flicker, the entire screen should be redrawn (Refreshed) at least 50 times per second (50 Hz)
the frame buffer
The Frame Buffer
  • Phosphors are logically arranged into a 2D array of pixture elements (pixels)
  • The Frame Buffer stores the array of pixels that are to be activated when the display is refreshed
  • Resolution of Frame Buffer denotes the size of the array: e.g. 1280 x 1024
frame buffer
Frame Buffer

Monochrome System

Display

000000000000000000000000

000000000000000000000000

000000000000000000000000

000000000000000000000000

000011000011000000000000

000011000011000000000000

000000000000000000000000

000000000000000000000000

001000000000001000000000

000100000000010000000000

000010000000100000000000

000001111111000000000000

000000000000000000000000

000000000000000000000000

000000000000000000000000

000000000000000000000000

000000000000000000000000

interlacing
Interlacing
  • Because phosphors are small, it is difficult for the eye to distinguish from one phosphor to the next.
  • Interlacing– To refresh every other row of the display within 50Hz.
colors in the frame buffer
Colors in the Frame Buffer
  • Depth: refers to how many bits represent each pixel.
  • Adding bits allows the frame buffer to store not only if a pixel is active, but also what color it should be
  • 8 bits = 256 colors
color crt

Triad

Color CRT

Deflectors

Phosphor Field

color displays
Color Displays
  • Color code is stored in the frame buffer
  • Display translates color code into intensities for three electron guns.
  • Each gun fires into an appropriately colored phosphor in a group of three (known as a triad).
  • Triad = Pixel
slide23

Color Spectrum

Our sense of color is derived from a physiological response to lightwaves in the visible electromagnetic spectrum

color blending

C(λ)

400

700

λ

Color Blending
  • Light that we see is made up of photons moving at varying wavelengths
  • A Color is actually defined by continuous function C(λ) across all wavelengths of the visible spectrum
human visual system
Human Visual System
  • Retina is comprised of Rod cells and 3 types of Cone cells

Iris

  • Rods sense dark/light
  • Each type of the Cones responds best to a particular wavelength.
tri color model
Tri-color Model
  • The eye breaks down incoming light into a triplet of values (RGB).
  • The brain converts that triplet back into a single (perceived) color
  • Instead of representing color as a continuous function, we can simplify our representation to a triplet of Red, Green & Blue intensities.
rgb color cube

G

(0,1,0)

(1,1,0)

(0,1,1)

(1,1,1)

(1,0,0)

(0,0,0)

R

(0,0,1)

(1,0,1)

B

RGB Color Cube
rgb color cube30

G

(0,1,0)

(1,1,0)

(0,1,1)

(1,1,1)

(1,0,0)

(0,0,0)

R

(0,0,1)

(1,0,1)

B

RGB Color Cube

What does this line represent?

alternative color model hsl
Alternative Color Model: HSL
  • Hue: A specific color (usually selected on a continuum)
  • Saturation: How much is the dominant wavelength distinguished from the other colors (How much “white” has been added)
  • Lightness: How bright does the color appear.
understanding hsl
Understanding HSL

What is the darkest color possible?

Black

What is the lightest color possible?

White

What is the color if Saturation = 0?

Gray

What is the color if Saturation = 1?

“Pure” Color

hsl cones
HSL Cones

White

Black

hsl cones34
HSL Cones

White

Grayscale

Black

hsl cones35
HSL Cones

Pure Color

color coding
Color Coding
  • Full spectrum can be specified using 3 numbers. (RGB or HSL)
  • These values can be coded into a single number and stored in the frame buffer
the pinhole camera and synthetic camera models
The Pinhole Camera and Synthetic Camera Models

Image plane

Pinhole

  • An ideal pinhole camera has an infinite depth of field (all points are in focus)
  • The angle of view : the angle made by the largest object that the camera can image on its film plane.

Illustration courtesy Greg Humphries

ray tracing
Ray Tracing
  • Arbitrary paths: realism
  • Trace from light
    • Most light rays don’t hit eye
  • Eye Ray tracing
    • Primary Rays
    • Shadow Rays
    • Reflected/Transmitted Rays

Appel 68

pipeline architecture for graphics apis
Pipeline Architecture for Graphics APIs

(Application Programmer’s Interface)

Frame Buffer

Numeric Data

Clipper

Projector

Rasterizer

Transformer

Graphics Renderer

Numeric Data: Mathematical Representations of graphical shapes. Often in terms of vertices and lines.

pipeline architecture for graphics apis40
Pipeline Architecture for Graphics APIs

Frame Buffer

NumericData

Clipper

Projector

Rasterizer

Transformer

Transformer: Mathematical operations are performed on the data to handle movement and positioning of the graphical representation

pipeline architecture for graphics apis41
Pipeline Architecture for Graphics APIs

Frame Buffer

Numeric Data

Clipper

Projector

Rasterizer

Transformer

Clipper: Limits the size of the dataset to contain only information that should be displayed for a given point-of-view

pipeline architecture for graphics apis42
Pipeline Architecture for Graphics APIs

Frame Buffer

Numeric Data

Clipper

Projector

Rasterizer

Transformer

Projector: Until this stage, our numeric representation has been dealing with a 3D model. This stage reduces the dataset to 2D

pipeline architecture for graphics apis43
Pipeline Architecture for Graphics APIs

Frame Buffer

Numeric Data

Clipper

Projector

Rasterizer

Transformer

Rasterizer: The processed numeric information is finally converted into individual pixels

pipeline architecture for graphics apis44
Pipeline Architecture for Graphics APIs

Frame Buffer

Numeric Data

Clipper

Projector

Rasterizer

Transformer

Frame Buffer: Pixels are sent to the Frame Buffer to be displayed at the next refresh.

opengl
OpenGL
  • OpenGL is a graphics API
    • Software interface to graphics hardware
    • Hardware independent
    • No windowing or high-level tasks
    • Higher level API utilities available (GLU)
      • Application -> Higher level -> OpenGL -> Hardware
    • Window system separate (GLUT, Motif, etc.)
  • Benefits:
    • Fast, standard, portable, window-systemindependent
  • Other APIs

GKS(Graphical Kernel System)

PHIGS (Programmer’s Hierarchical Interactive Graphics System)

gl related apis
GL Related APIs

GL: implements the Graphics Renderer using pipeline architecture

GLU: (Utilities) provides some higher level interfaces for projections and viewing

GLUT: (Utility toolkit) provides window management and event handling

slide48

Y

Line

Polygon

Point

x4,y4

x6,y6

x7,y7

x3,y3

x1,y1

x4,y4

x5,y5

x2,y2

x3,y3

x8,y8

x1,y1

x1,y1

x2,y2

X

+

Geographic Information System

  • A system for processing digital thematic maps
  • representing geographic features and their attributes.
slide54

Automatically Add Image Mapping

I4

I3

Building layer (polygon)

Attribute: height, LU, image#, etc.

I2

Image Layer (line):

Attribute: Base-height, height, etc.

I1

I1

reality virtuality continuum
Reality-Virtuality Continuum

Reality -

Direct View

Stereo Video

Augmented Reality

DV + SG

SV + SG

Augmented Virtuality

SG + DV

SG + SV

Virtual Reality

Stereo

Graphic

Stereo Graphic

Mixed Reality

(After Paul Milgram and Fumio Kishino).

optical see through hmd
Optical see-through HMD

Graphic

Images

Head

Tracker

Head

Locations

Scene

Generator

Monitors

Real

World

Optical

Combiners

laser printer maintenance application
Laser printer maintenance application

(Courtesy Steve Feiner, Blair MacIntyre, and Dorée Seligmann, Columbia University.)

virtual fetus inside womb of pregnant patient
Virtual fetus inside womb of pregnant patient

(Courtesy UNC Chapel Hill Dept. of Computer Science.)

simulation of london millennium bridge
Simulation of London Millennium Bridge

(Courtesy Insitut Graphische Datenverarbeitung)