10 1 introduction (1)

Upload: aditya3030

Post on 09-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 10 1 Introduction (1)

    1/61

    Computer Graphics:

    Course Intro.,

    History, ContextAngel, Chapter 1

    CSCI 6360/4360

  • 8/8/2019 10 1 Introduction (1)

    2/61

  • 8/8/2019 10 1 Introduction (1)

    3/61

    Computer Graphics, Fall 2010

    Angel, page 1:

    Perhaps the dominant characteristic

    of this new millennium is howcomputer and communication

    technologies have become

    dominant forces in our lives.

    Not a bad place to be sometimes we forget

  • 8/8/2019 10 1 Introduction (1)

    4/61

    Computer Graphics, Fall 2010

    Angel, page 1:

    Perhaps the dominant characteristic of this new

    millennium is how computer and communication

    technologies have become dominant forces in our

    lives.

    Computer graphics is concerned with all aspects of

    producing pictures or images using a computer.

    allaspects

    Hardware

    Software

    Applications

  • 8/8/2019 10 1 Introduction (1)

    5/61

    Applications: Movies

  • 8/8/2019 10 1 Introduction (1)

    6/61

    Applications: Games

  • 8/8/2019 10 1 Introduction (1)

    7/61

    Applications: Visualization

  • 8/8/2019 10 1 Introduction (1)

    8/61

    Apps: Computer Aided Design

  • 8/8/2019 10 1 Introduction (1)

    9/61

    App: Virtual and Augmented Reality

  • 8/8/2019 10 1 Introduction (1)

    10/61

  • 8/8/2019 10 1 Introduction (1)

    11/61

    Apps: New Information Spaces

  • 8/8/2019 10 1 Introduction (1)

    12/61

    Applications: Art

  • 8/8/2019 10 1 Introduction (1)

    13/61

    Elements of

    ComputerGraphics

    UTPA:Computer Graphics

    Visualization

    Interactive Systems

    Human Computer Interaction

    Programming systems

    -windows

    -graphics

    Hardware and

    graphics engines

    3-D

    ViewingTransformation

    Representation of

    curves and surfaces

    Models,

    (Foley et al. term)

    Drawing

    Algorithms

    Lights

    Rendering

    User, i.e., Human

    Interaction Perception Information

    An illusion:

    analog world

    represented

    digitally

    Programming is a craft

    Open

    System

    DisplayClosedSystem

  • 8/8/2019 10 1 Introduction (1)

    14/61

    Computer Graphics

    Angel, p. 1 Computer graphics is concerned with all aspects of producing

    pictures or images using a computer.

    Allaspects

    Hardware Software

    Applications

    Foley et al., creation, storage and manipulation ofmodels and images

    Models come from a diverse and expanding set of fieldsincluding physical, mathematical, artistic, biological, andconceptual (abstract) structures.

    Historically, there was a hard line, not so much anymore

  • 8/8/2019 10 1 Introduction (1)

    15/61

    Origins

    William Fetter coined term computer graphics New design methods pursuing at Boeing, early 1960s, graphic designer

    Created a series of widely reproduced images on a plotter exploring cockpitdesign using a 3D model of a human body

    Boeing man

  • 8/8/2019 10 1 Introduction (1)

    16/61

    Origins

    William Fetter coined term computer graphics New design methods pursuing at Boeing, early 1960s, graphic designer

    Created a series of widely reproduced images on a plotter exploring cockpitdesign using a 3D model of a human body

    Boeing man

    Perhaps the best way to define

    computer graphics is to find outwhat it is not. It is not a machine. Itis not a computer, nor a group ofcomputer programs. It is not theknow-how of a graphic designer, aprogrammer, a writer, a motionpicture specialist, or areproduction specialist.

    Computer graphics is all these --a consciously managed anddocumented technology directedtoward communicating informationaccurately and descriptively.

    Computer Graphics, William A.

    Fetter, 1966

  • 8/8/2019 10 1 Introduction (1)

    17/61

    Even More Fundamentally

    Computing is about insight, notnumbers

    and a lot of people got it, rightaway

    Hamming, R.W., Numerical Methods

    for Scientists and Engineers, 1962

    Goals of insight:

    Discovery

    Decision making

    Explanation

    And, heck, computer graphics arefun

    1962, PDP-1, Spacewar

  • 8/8/2019 10 1 Introduction (1)

    18/61

    Computer Graphics, Angel Ex.

    Where did this imagecome from?

    What hardware/softwareto produce it?

    Application: The object is an artists

    rendition of the sun for ananimation to be shown in adomed environment

    (planetarium)

    Software: Maya for modeling and

    rendering but Maya is built ontop ofOpenGL

    Hardware: PC with graphics card for

    modeling and rendering

  • 8/8/2019 10 1 Introduction (1)

    19/61

    Interactive Computer Graphics

    Interactive computer graphics Where computation, human, and machine come together

    User controls contents, structure, and appearance of objects and their displayedimages via rapid visual feedback

    Graphics is/are pervasive:

    Text (character) mode vs. graphics mode (ever heard of something called DOS, or Unix command line?)

    Dominant display and interaction paradigm for interaction

    Direct manipulation interfaces require graphics

    The two contrasts of a) text with graphics and b) batch with

    interactive describe the context of interactive computer graphics Sutherlands landmark work described the ideas

  • 8/8/2019 10 1 Introduction (1)

    20/61

    Interactive Computer Graphics

    Input devices

    Output devices

    Image formed in FB

    Basic components of an interactive graphics system: Input (e.g., mouse, tablet and stylus, force feedback device, scanner...)

    Processing (and storage)

    Frame buffer (raster) more next time

    Display/output (e.g., screen, paperbased printer, video recorder...)

  • 8/8/2019 10 1 Introduction (1)

    21/61

    Raster Architecture (next time)

    Early systems Used part of system memory (system

    address space) for frame buffer

    Single CPU set frame buffer and performedgraphics system commands

    Current systems Separate processor gets cmds from CPU

    Graphics Processing Unit (GPU) In hardware (firmware):

    Scan conversion

    Texturing

    Dedicated texture memory Lighting calculations

    3D transformation calculations

    GPU more power than CPU Interesting implications!

  • 8/8/2019 10 1 Introduction (1)

    22/61

    Cg Software Architecture, APIs

    Graphics APIOpenGl (no win sys func)DirectX

    Window system APIMS windowsX tools

    CPUGPU

    Graphics Processing Unit

  • 8/8/2019 10 1 Introduction (1)

    23/61

    Software Arch., Window System

    Application ProgsE.g., student programsMS Excel, etc.

    Tools: UI Program.MFC, Swing,Qt (widget toolkit and more)

    Graphics APIOpenGl (no win sys func)DirectX

    Window system APIMS windowsX tools

    CPUGPU

    Graphics Processing Unit

  • 8/8/2019 10 1 Introduction (1)

    24/61

    Software Arch., Graphics

    Application ProgsE.g., student programsMS Excel, etc.

    Graphics APIOpenGl (no win sys func)DirectX

    GLUTOpenGL Utility Toolkit

    Window system APIMS windowsX tools

    CPUGPU

    Graphics Processing Unit

    Tools: Vis. Program.VTKs3s

  • 8/8/2019 10 1 Introduction (1)

    25/61

    Software Architecture, All

    Application ProgsE.g., student programsMS Excel, etc.

    Tools: GraphicMaya3ds

    Tools: UI Program.MFC, Swing,Qt (widget toolkit and more)

    Graphics APIOpenGl (no win sys func)DirectX

    GLUTOpenGL Utility Toolkit

    Window system APIMS windowsX tools

    CPUGPU

    Graphics Processing Unit

    Tools: Vis. Program.VTKs3s

  • 8/8/2019 10 1 Introduction (1)

    26/61

    Software Architecture (save)

    Application ProgsE.g., student programsMS Excel, etc.

    Tools: GraphicMaya3ds

    Tools: UI Program.MFC, Swing,Qt (widget toolkit and more)

    Graphics APIOpenGl (no win sys func)DirectX

    GLUTOpenGL Utility Toolkit

    Window system APIMS windowsX tools

    CPUGPU

    Graphics Processing Unit

    Tools: Vis. Program.VTKs3s

  • 8/8/2019 10 1 Introduction (1)

    27/61

    Context of Computer Graphics

    Graphics is key enabling technology in evolution of computingenvironments: Graphical user interfaces

    Visual computing,

    e.g., desktop publishing, scientific visualization, information visualization

    Hardware revolution drives everything ~ every 18 months, computer power improves by factor of 2 in price/performance

    Moore's Law

    and exponential growth generally things are different

    Graphics memory and network speeds are on even faster

    exponentials graphics chips in particular have major improvements every six to nine months

    e.g. Sony Playstation 2, Nintendo GameCube, Xbox, nVidia GeForce 3

  • 8/8/2019 10 1 Introduction (1)

    28/61

  • 8/8/2019 10 1 Introduction (1)

    29/61

    On Exponential Growth

    Some technology is exponential in advancement

    Other things are not

    E.g., software and

  • 8/8/2019 10 1 Introduction (1)

    30/61

    Taking Advantage ofExp. Growth

  • 8/8/2019 10 1 Introduction (1)

    31/61

    Taking Advantage ofExp. Growth?

  • 8/8/2019 10 1 Introduction (1)

    32/61

    Moores Law Dead?

    ?

  • 8/8/2019 10 1 Introduction (1)

    33/61

    Parallelism and Moores Law

    Moores law is alive and well for graphics

    Because lends itself to parallelization

    Pipeline architecture works well with current approach to cg

    ~ Now, gpu processing power > cpu processing power in

    commodity pcs!

    How to use parallel, here, gpu, architectures is not a new question

    Cf. Nvidia gpu programming language

  • 8/8/2019 10 1 Introduction (1)

    34/61

    CSCI 4360 and 6360, Fall 2010

    Syllabus, . about the course Student background

    Impacts programming assignments, pace, presentations,

  • 8/8/2019 10 1 Introduction (1)

    35/61

    Course - Schedule of Topics

    Graphics systems and models Thinking and speaking optically and computer-graphically

    Graphics programming today, OpenGL programming first! Input and interaction, and other things throughout

    Geometric objects and transformations Nuts, bolts and coordinate systems or numbers, pixels, and math

    Viewing Pixels and looking at things

    Lighting and shading Illumination models good (and fast) enough

    From vertices to fragments Getting lines and points on the screen and just the right ones

    Discrete techniques Buffers, bits, and textures

    Project demonstrations

  • 8/8/2019 10 1 Introduction (1)

    36/61

    Computer Graphics History

    Computer graphics all aspects

    Hardware, software, applications

    Hardware

    Graphics processing

    SAS and processor, separate processing in workstation, separate processor in commodity, GPU > CPU

    Display Paper & oscilloscope, vector based, raster based, lcd/led commodity 3d

    Software

    Graphics package, graphics api Custom, 80s and 90s starts, standardization ofOpenGL

    Applications

    Use of graphics in application, e.g., Autocad

    Use for graphics creation, e.g., Maya

  • 8/8/2019 10 1 Introduction (1)

    37/61

    Origins: Sutherlands Sketchpad, 1/2

    First truly interactivegraphics system, Sketchpad A fairly sophisticated paint (or

    drawing) program

    MIT, Ivan Sutherlands 1963

    Ph.D. thesis Sketchpad, A Man-Machine

    Graphical CommunicationSystem

    Available:

    www.cl.cam.ac.uk/techreports/UCAM-CL-TR-574.pdf

    Video:

    www.youtube.com/watch?v=mOZqRJzE8xg

    Among most importantworks in computer science

    Ivan Sutherland using Sketchpadin 1963CRT monitor, light pen and function-key panel

  • 8/8/2019 10 1 Introduction (1)

    38/61

    Origins: Sutherlands Sketchpad, 2/2

    Almost all the keyelements of an interactivegraphics system areexpressed in the first

    paragraph of Sutherland'sthesis!: The Sketchpad system uses drawing

    as a novel communication medium fora computer. The system contains input,output, and computation programswhich enable it to interpret informationdrawn directly on a computer display.Sketchpad has shown the mostusefulness as an aid to theunderstanding of processes, such asthe motion of linkages, which can bedescribed with pictures. Sketchpadalso makes it easy to draw highlyrepetitive or highly accurate drawingsand to change drawings previously

    drawn with it... (Sutherland, 1963)

  • 8/8/2019 10 1 Introduction (1)

    39/61

  • 8/8/2019 10 1 Introduction (1)

    40/61

    Computer Graphics: 1950-1960

    Character Displays (1960s - now) Display: text plus alphamosaic pseudo graphics

    Object and command specification: command line typing

    Control over appearance:

    coding for text formatting, e.g., .p =paragraph, .i 5 =indent 5

    Application control: single task

    Vector Displays (1963 - 1980s) Display: line drawings and stroke text; 2D and 3D transformation hardware

    Object and command specification: command line typing, function keys, menus

    Control over appearance: pseudo WYSIWYG

    Application control: single or multitasked, host satellite distributed computing

  • 8/8/2019 10 1 Introduction (1)

    41/61

    Computer Graphics: 1960-1970

    Wireframe graphics Draw only lines

    Sketchpad

    Display Processors

    Storage tube

    DE

    C PDP-1, below Early CRT displays based on

    oscilloscopes

    Primitive (custom) software

    But, beginning of advances in cg

    algorithms

    Interactive cg possible at high end

  • 8/8/2019 10 1 Introduction (1)

    42/61

    FYI - Display Processor

    Really old school technology, but some terminology remains, e.g.,display list

    Rather than have the host computer try to refresh display, use a

    special purpose computer called a display processor(DPU)

    Graphics stored in display list (display file) on display processor

    Host compiles display list and sends to DPU

  • 8/8/2019 10 1 Introduction (1)

    43/61

    Direct View Storage Tube

    First real cg capable display Created by Tektronix

    Did not require constant refresh

    Standard interface to computers Allowed for standard software

    Plot3D in Fortran

    Relatively inexpensive

    Opened door to use of computergraphics for CAD community

  • 8/8/2019 10 1 Introduction (1)

    44/61

    Computer Graphics: 1970-1980

    Raster graphics todays display paradigm Map pixel to memory location (vs. vector display list)

    bitmap really bytemap or wordmap or

    Memory cost allowed

    Back then, 64k words total, not uncommon

    Beginning of graphics standards IFIPS

    GKS: European effort

    Becomes ISO 2D standard

    Core: North American effort

    3D but fails to become ISO standard

    It was a real mess at least compared to now

    (Scientific) Workstations and PCs Strong, clear distinctions, that have at least blurred now

  • 8/8/2019 10 1 Introduction (1)

    45/61

    Raster Graphics, 1970-1980

    Image produced as an array (the raster) of picture elements (pixels)in the frame buffer Map pixel to memory location (vs. vector display list)

    Can now go from lines and wire frame images to filled polygons

    Many fundamental algorithms developed E.g., Phong shading

  • 8/8/2019 10 1 Introduction (1)

    46/61

    PCs and Workstations

    Although we no longer make a (clear) distinction betweenworkstations and PCs, historically they evolved from different roots

    Early workstations characterized by Networked connection: client-server model

    High-level of interactivity

    Early PCs included frame buffer as part of user memory

    Easy to change contents and create images

    And, for speed, often programmed directly into frame buffer fromapplication

    Vs. using a software layer, such asOGL

  • 8/8/2019 10 1 Introduction (1)

    47/61

    Computer Graphics: 1970-1980

    2D bitmap raster displays for PCs and workstations (1972 XeroxPARC - now) Display: windows, icons, legible text and ``flat earth'' graphics.

    late 60's saw first use of raster graphics, especially for flight simulators.

    Object and command specification: minimal typing via WIMP (Windows, Icons, Menus, Pointer)

    GUI (Graphical User Interface): point and click selection of menu items and objects, widgets and direct manipulation

    (e.g., drag and drop), the messy desktop metaphor

    Control over appearance: WYSIWYG (which is really WYSIAYG, What You See Is All You Get)

    Application control: multitasking, networked clientserver computation and window management

    (even X terminals)

  • 8/8/2019 10 1 Introduction (1)

    48/61

    Computer Graphics: 1980-1990

    Photorealism feasible E.g., ray tracing and other computationally expensive techniques

    smooth shading environment mapping bump mapping

  • 8/8/2019 10 1 Introduction (1)

    49/61

    Ray Tracing

    Consider how light from a source might be modeled Follow every ray from the source, to the objects, and see what goes to viewer

    Somewhat more computationally feasible (though still expensive) is

    to run things backward from cop to objects to illumination source

  • 8/8/2019 10 1 Introduction (1)

    50/61

  • 8/8/2019 10 1 Introduction (1)

    51/61

  • 8/8/2019 10 1 Introduction (1)

    52/61

  • 8/8/2019 10 1 Introduction (1)

    53/61

    Computing and Graphics - Now

    Digital Convergence: Merging of digital television and distributed computing, consumer electronics:

    settop computers (e.g., for Interactive TV, VideoOnDemand)

    The Internet and Internet appliances Radio, movies,

    Embedded computing Information appliances, Personal Digital Assistants aka telephones

    Ubiquitous/pervasive/invisible computing, active badges, 100's ofdevices/person

    Social computing

    Chips are key in graphics: powerful, inexpensive processing Again, advances driven by Moore's Law

  • 8/8/2019 10 1 Introduction (1)

    54/61

    Application Distinctions

    Two basic paradigms for computer graphics:

    1. Sampled-based graphics: Discrete samples are used to describe visual information

    Pixels can be created by digitizing images, using a samplebased paintingprogram, etc.

    Often some aspect of the physical world is sampled for visualization, e.g.,temperature across the US

    Example programs: MS Paint, Adobe Photoshop

    2. Geometry-based graphics: A geometrical modelis created, along with various attributes, and is then

    sampled for visualization (this process is called rendering) Often some aspect of the physical world is visually simulated, or ``synthesized''

    Example 2D programs: Adobe Illustrator, Macromedia Freehand, Corel CorelDRAW!, Microsoft PhotoDraw

    Example 3D programs: Alias/Wavefront Studio and Maya, Avid's SoftImage 3D, Autodesk's AutoCAD and 3D

    StudioMax, Autodesys FormZ

  • 8/8/2019 10 1 Introduction (1)

    55/61

    Sampled-based Graphics, 1

    Images are made up of a grid of discrete pixels for 2D ``pictureelements''

    Pixels are point locations with associated sample values usually of light intensities/ colors, transparency, and other control information

  • 8/8/2019 10 1 Introduction (1)

    56/61

  • 8/8/2019 10 1 Introduction (1)

    57/61

    Example of Sampling

    In a continuous/analog, e.g., photographic image Color value is measured at every grid point and used to color a corresponding

    grid square

    E.g. at right: 0 = white, 5 = gray, 10 = black

    Here, poor (low resolution) sampling and image reconstruction

    method creates a blocky image

  • 8/8/2019 10 1 Introduction (1)

    58/61

    Advantages Disadvantages of Sampling

    Advantages:1.Once image is defined in terms of colors at (x, y) locations on grid, can changeimage easily by altering location or color values

    e.g., if we reverse our mapping above and make 10 = white and 0 = black

    2. Pixel information from one image can be copied and pasted into another,replacing or combining with previously stored pixels

    Disadvantage: WYSIWYG (What You See Is What You Get):

    There is no additional information: no depth information can't examine scene from a different point of view at most can play with the individual pixels or groups of pixels to change colors, enhance contrast, find

    edges, etc.

  • 8/8/2019 10 1 Introduction (1)

    59/61

  • 8/8/2019 10 1 Introduction (1)

    60/61

    Geometry-Based Graphics, the Model

    A modelcaptures the salient features (data, behavior) of thing/phenomenonbeing modeled data includes geometry, appearance attributes...

    similarity to OOP notions

    Real: some geometry inherent physical (e.g., actual object such as a pump)

    nonphysical (e.g., mathematical function, weather data)

    scientific visualization

    Abstract: no inherent geometry, but for visualization organizational (e.g., company org. chart)

    quantitative (e.g., graph of stock market data)

    information visualization

    Modeling, you may recall from other cs courses, is coping with complexity

    Then, given some model, reconstruct in graphics the visual representation E.g., from equation of sphere compute points

    Through 3D computer graphics, for first time have abstract, easilychangeable 3D forms Revolutionized working process of many fields science, engineering, industrial design,

    architecture, commerce, entertainment, etc. (this may be important)

  • 8/8/2019 10 1 Introduction (1)

    61/61

    End