1. Introduction and history
Brock University
COSC 3P98 Computer Graphics
Instructor: Brian J. Ross
Introduction to COSC 3P98 Computer Graphics

- Course purpose: an overview of computer graphics technology
- (see course outline)
- Course involves
- fundamentals: technological methods and principles
- practical: programming assignments
- theory: some mathematics and algorithms
- Assignments:
- programming in C and OpenGL
- C++: if you want
- Resources:
- Reserve reading in library
- Online documentation: OpenGL
- Course WWW page: lectures, communication, misc utilities and items
of interest
- online OpenGL Red Book (but it's out of date)
- the web: lots of information! (but: Do Your Own Work!)
Graphics
- computer graphics: the use of visual representation for modeling data
and conveying information
- a topic of study since the 60's
- active area of computer science research
- recent advances are changing the way computer technology effects us:
- Graphical user interfaces
- on-line information databases
- computer-aided design (CAD)
- entertainment industry: commercials, movies, games
- virtual reality
Why use graphics?
- "a picture is worth a 1000 words"
- humans are naturally skilled at interpreting visual information
- eg. it is easier to understand a bar chart, than a table of numbers
- graphics therefore creates a human-oriented medium with which the computer
and human can interact
- permits the synthesis of objects: their visualisation, modeling
- motion dynamics: the movement of an object or a viewer within an environment
- inspect automobile design in CAD system
- non-intrusive medicine
- flight simulator
- update dynamics: changes in the object being viewed
- eg. stresses on bridges
- systems incorporate physics simulations : gravity, forces, fluid dynamics
- Note that early CAD systems were important for graphics becoming an active
research and industrial area.
Some terms
- interactive computer graphics: that in which real-time performance
and human interaction is of concern
- pixel: one visible point on the computer screen
- bitmap: data structure in which bit(s) maps to a pixel
- image processing: manipulating images in order to highligh various
aspects of interest; used by computer vision
- computer graphics constructs images from models
- computer vision constructs models from images
- both areas share technology, ie. image manipulation techniques
- photorealism: generate graphic images equal to, or surpassing, realism of photographs
- non-photorealism (NPR): when realism is not a goal
- anime cartoon effects
- van Gogh style images
- Example
- CRT: cathode-ray tube (TV tube)
Graphics and Hardware Advances
- advances in the last decade due mostly to the microchip
- what was once esoteric and computationally expensive, can now be done
on a cell phone
- faster inexpensive (parallel) microprocessors and dedicated graphics chips
- developments in photorealism have benefitted from hardware devts.
- graphics cards support highly parallel dedicated graphics processing.
- Often used for non-graphics processing (number crunching)
- screen technology: High-definition television (HDTV), colour LCD, OLED
- virtual reality interfaces (corneal implants?)
- 3D scanners: find surface geometries of objects
- 3D printers: make 3D object from computer models
Graphics and Software Advances
- Hardware advances depend upon software to run it.
- Lots of areas of graphic software advances:
- realistic rendering techniques: radiosity
- real-time rendering algorithms
- GUI design
- object-orientation: for supporting complex systems
- immersive environments, virtual reality
Areas of research in Graphics
- mathematical modeling:
- interpolation, curve and surface fitting
- computational geometry: algorithmic applications in geometry
- study of light and optical phenomenon: colour, texture, shades
- modelling the characteristics of physical objects (bouncing jello)
- Software technology
- standardized graphics languages and libraries
- graphics tools and interfaces
- algorithm design
- Hardware
- specialized graphics chips, monitors, interface devices
Types of applications
- dimension of object: 2D or 3D
- type of interaction:
- batch: photorealism, animation (although often becoming realtime),
plotters
- realtime, interactive
- Role of the picture
- picture is the purpose: drafting, painting, artwork, desktop publishing
- picture is a tool: CAD, user interfaces
- Degree of realism
- 16 or 16 million colours
- draft or photorealistic effects (or NPR)
A Brief History
- teletype printouts were first graphical output devices
- lightpens were an early input device
- CAD applications began in the 1960's
- plotters also a 60's development: high-resolution, but slow
- main bottlenecks of computer graphics back then
- cost of graphics hardware
- expense of computer resources
- batch systems weren't suitable for interactive graphics
- non-portability of hardware and software
- a new field: technology was primitive
History
- Things changed with advent of microchip:
- desktop mini- and microcomputers made graphics hardware commercially
viable
- Output technology (display and printer devices)
- hard copy: from monochrome teletype and plotters, to colour inkjet
and laser printers
- some graphics terminals had builtin thermal printers
- Input technology:
- keyboards, digital tablets, touch sensitive screens, optical and mechanical
mice, trackballs, voice,...
- 3D scanners, 3D mice, VRML helmets, motion capture suits, ...
Vector displays
- early display device
- vector: line defined by a start and end point on screen
- a refresh buffer contains digital commands telling what to draw (location
of vectors, draw and move commands, ...)
- vector generator: converts commands in refresh buffer into analog signals
that are displayed on a phosphor (green) screen
- random scan: vectors drawn in the order they reside in buffer
- refresh cycles had to occur at 30 Hz: greatly limited complexity of
picture
- newer tubes had lower refresh rates
- dedicated minicomputers later used to handle graphics handling

Example image (Atari Battlezone):
Raster displays
- based on television technology
- screen is divided into pixels at some resolution (fineness)
- refresh buffer contains digital information that is converted
directly into screen pixels by hardware
- raster: set of raster lines or rows of pixels
- when you change some bits in the raster, the screen is changed
- television technology has improved resolution
- the bigger and finer the picture, the larger the memory
req'd for the refresh buffer. But memory is now cheap!

Raster refresh

Comparing Raster and Vector
- advantages of vector:
- higher resolution, especially for diagonal lines
- geometry objects (lines) whereas raster only handles pixels
- eg. 1000 line plot: vector disply computes 2000 endpoints
- raster display computes all pixels on each line
- advantages of raster:
- cheaper
- colours, textures, realism
- unlimited complexity of picture: whatever you put in refresh buffer,
whereas vector complexity limited by refresh rate
Flat-panel displays
- 2 types: emissive (plasma) and non-emissive (LCD)
- Plasma:
- panel of gas (neon) and grid of horizontal and vertical conductors
- precise firing a charge at intersection of grid causes gas to glow
- RGB filters then produce colour in a way similar to CRT's
- advantage: high resolution, getting better, lower energy
- disadvantage: limited lifespan (like CRT's)
- LCD:
- polarized light is shone through liquid crystal mesh
- turning on/off mesh locations will either allow or block light
- passive: need external lighting to see result
- can use backlighting, RGB mesh for colour
- active LCD: a transistor at each pixel for activating LCD
- advantages: hi rez, low power, very long life
- disadvantages: more expensive for large displays, some latency (liquid movement time) means animation can be blurry, dimmer than plasma
History: graphics libraries
- initially, low-level device-dependent packages were the norm
- movement towards high-level device-independent packages, in order to
promote application program portability
- requires standardization:
- 3D Core Graphics System ("Core") dev'd in late 70's as unofficial
std
- GKS (Graphical Kernel System, 1985): official 2D standard built from
Core
- GKS-3D (1988): 3d objects
- PHIGS (Programmer's Hierarchical Interactive Graphics System, 1988)
3d nested objects
- PHIGS+ (1988): rendering enhancements
- GL: SGI, from early 90's
- OpenGL: new standard, open version of GL
- Renderman: Pixar rendering language
- Direct-3D: Microsoft Windows 3D standard
- CG, OpenGL 2.0: vertex and pixel shaders
Preview
- Application model: mathematical model of objects to be displayed
- eg. data structure containing the coordinates of a polygon
- Application program: program that defines application model,
defines what user does with it, process user input, etc
- Graphics system: software and hardware component that takes
application model, and using directions from application program, transforms
them into a visual object on screen (printer, plotter, ...)

Preview
- the types of transformations the graphics system performs on model
is primary focus of this course
- the models are mathematical: lots of trig, matrix multiplication, calculus
(when you get into splines)
- graphics is a good example of applied mathematics: abstract mathematical
representations of physical objects are mathematically transformed into
pseudo-realistic representations on the screen
- graphics naturally falls into conceptual categories of 2D (drawing
on the plane) and 3D (drawing in 3D space), and the transition area between
them
- usually math is "intensive" when techniques or algorithms
are being derived
- once the formula and algorithm is derived, they're implemented into
graphics libraries
- implementation is often hardware-supported
Back
to COSC 3P98 index
COSC 3P98 Computer Graphics
Brock University
Dept of Computer Science
Copyright © 2009 Brian J. Ross
(Except noted figures).
http://www.cosc.brocku.ca/Offerings/3P98/course/lectures/intro/
Last updated: August 24, 2009