Computer Graphics
Chapter 1: Introduction to Graphics
Computer graphics History Computer graphics generally means creation, storage and manipulation of models and images Such models come from diverse and expanding set of fields including physical, mathematical, artistic, biological, and even conceptual (abstract) structures Frame from animation by William Latham, shown at SIGGRAPH 1992. Latham uses rules that govern patterns of natural forms to create his artwork.
Graphics Library (GL) Examples: OpenGL™, DirectX™, Windows Presentation Foundation™ (WPF), RenderMan™ Primitives (chars, lines, polygons, meshes,…) Attributes color line style material properties for 3D Lights Transformations Immediate mode vs. retained mode immediate mode: no stored representation, package holds only attribute state, and application must completely draw each frame retained mode: library compiles and displays from scene graph that it maintains, a complex DAG. It is a display-centered extract of the Application Model
What is computer graphics
Some research fields of computer graphics
Basic notions Computer graphics – process of producing a picture or image using the computer Computer interfaces popular on personal computers Desktop publishing Realistic images generated using mathematical and physical methods
Steps for creating a picture Creating a model Perform necessary transformation Lighting and rendering the object The goal is the creation of an image by writing a program instead of taking a picture with a camera There exists an analogy between writing graphical programs and taking pictures by a camera
Pixels Pixel or “Picture element” is the simplest element in computer graphics Single location on the computer screen or printout Value of each pixel is the range from white to black or range of intensities of red, green, blue (RGB) colors.
Frame buffers The pixels of an image are organized into two dimensional grid – frame buffer Multiple frame buffers can be stored in computer memory Double buffering – first image is drawn into frame buffer and sent to display. While the user is looking on the display, the next picture is drawing to the second buffer.
Windows Image don’t fill the entire screen but is drawn into a window Pixels are adressed within the window based on their location Relative position of each pixel enables moving the window and change its size
Realistic images Calculating pixel values to create impression of a realistic picture Simulation of objects from the real word Approximation of physical properties of objects Limitations given by computing time and memory space
The Graphics Pipeline Modeling – creates an internal representation of the objects in the scene Rendering – converts the screen description into image Display – shows the image on the output device
The Graphics Pipeline Model Object Specification Transformation Scene Description Scene Description Clipping and Hidden Surface Removal Model Transformation View and Light Specification Shading Image
The Graphics Pipeline Image Display Transformation Output
Applications of Computer Graphics Display of information Design Simulation and animation User interfaces
Display of information Maps GIS (geographic information system) CT (computer tomography) MRI (magnetic resonance imaging) PET (positron-emission tomography) Fluid flow, molecular biology, mathematics…
Display of Information
Applications of Computer Graphics. Design CAD (computer-aided design): VLSI (very-large-scale integrated) circuits Together with other tools: architecture or interior design
Interior Design
Applications of Computer Graphics Simulation and animation Flight simulation – pilot training Games and educational software Benefits: Less cost Less danger, e.g. combination with the VR (virtual reality) techniques can help surgical interns and astronauts
Applications of Computer Graphics User interfaces Friendly working environment: windows, icons, menus, pointing devices Interface for a painting program
Application Programmer’s Interface The OpenGL graphics system is an Application Programming Interface (API) to graphics hardware. Specifications of the functions in the graphics library
Three-dimensional APIs Objects Viewers Light sources Material properties
Camera(Viewer) Specifications Position (COP) Orientation Focal length Film plane
Sequence of Images Wireframe Flat shading Smooth shading HSR (Hidden surface removal) Smooth shading Curves and surfaces NURBS, Bezier curves/surfaces Texture mapping Bump mapping, environmental maps, antialiasing…
Pixels
A Graphics System
Frame Buffer High-end systems: VRAM or DRAM Simpler systems: part of memory Depth: the number of bits per pixel True color: depth=24 Resolution: the number of pixels in the frame buffer
Rasterization or Scan-conversion Conversion of geometric entities to pixels in the frame buffer High-end systems Special-purpose processors Simpler systems A single and shared processor
Output Devices CRT (Cathode-ray tube)
Output Devices CRT Other raster devices: Refresh: at least 50 times per second Interlace and non-interlace systems Color CRTs have three colored phosphors and a shadow mask Other raster devices: LCD (liquid-crystal displays) Plasma panels and digital projection systems Non-refreshable: printers and plotters
Shadow-mask CRT
Input Devices Joystick Data tablet Anything else? Hand Foot Voice Mouse Joystick Data tablet Anything else? Hand Foot Voice Mind?
Images: Physical and Synthetic Image formation Lighting Shading Properties of materials
Objects and Viewers Object: formed from geometric primitives Viewer: Points, lines, polygons Vertex (pl. Vertices) is the most primitive one Viewer: Locations Viewing angles
Objects and Viewers
Objects and Viewers 3D world 2D image
Light and Images
Synthetic-camera Model Film Plane Projection Plane
Single Point Light Source
Ray Tracing Penetrating transparent surfaces Reflected by Refracted Mirrors Diffuse surfaces Refracted Absorbed
Human Visual System Visual system does not have the same response to each color. We are most sensitive to green light
Pinhole Camera
Pinhole Camera (xp, yp, -d) is the projection of (x, y, z)
Synthetic-camera Model Bellows Camera Projector
Synthetic-camera Model COP(Center of Projection) Focal Length
Synthetic-camera Model Film Plane Projection Plane
Synthetic-camera Model Clipping Window
Sequence of Images Wireframe Flat shading Smooth shading HSR (Hidden surface removal) Smooth shading Curves and surfaces NURBS, Bezier curves/surfaces Texture mapping Bump mapping, environmental maps, antialiasing…
Wireframe
Flat Shading
Smooth Shading
Modeling With Curves/surfaces
Bump Mapping
Environmental Maps
Antialiasing
Modeling-rendering Paradigm Example: Scene graph
Graphics Architecture Compute line segments Very high rate to avoid flickering Draw line segments Early graphics system
Graphics Architecture Display-processor architecture
Graphics Architecture Arithmetic pipeline: doubling the throughput! Pipeline Architecture: Geometric pipeline
Pipelining Pipeline Architecture: Geometric pipeline Arithmetic pipeline: doubling the throughput! Pipeline Architecture: Geometric pipeline
Geometric Pipeline Transformation Clipping Conversion between coordinate systems Translation, rotation, scaling Aggregate transforms by matrix multiplications Clipping Could be further pipelined
Geometric Pipeline Projection Rasterization Remaining 3D objects are projected into 2D objects Parallel or perspective projections Rasterization Convert 2D objects into pixels
Performance Characteristics Latency Throughput: How fast we can move geometric entities through the pipeline How many pixels per second we can alter in the frame buffer Pipeline architecture is not a must Ray tracing or radiosity for better quality
Summary & Notes of Lecture 1 Application of computer graphics A graphics system Human visual system Pinhole and synthetic camera models Image formation Geometric pipeline Realistic images may require resolution of up to 40006000