Graphics Systems and OpenGL - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Graphics Systems and OpenGL

Description:

Title: COMP136: Introduction to Computer Graphics Author: Benjamin Lok Last modified by: John Quarles Created Date: 8/12/2000 9:43:13 PM Document presentation format – PowerPoint PPT presentation

Number of Views:87
Avg rating:3.0/5.0
Slides: 22
Provided by: Benjam111
Learn more at: http://www.cs.utsa.edu
Category:

less

Transcript and Presenter's Notes

Title: Graphics Systems and OpenGL


1
Graphics Systems and OpenGL
2
Business of Generating Images
  • Images are made up of pixels

3
RGB
RGB Color cube (what we use in computer graphics)
Other color spaces include HSV, YUV, YCrCb, and
YIQ
4
The goal of computer graphics
  • Solve the function
  • Red _at_ a pixel is f(i,j)
  • Green _at_ a pixel is f(i,j)
  • Blue _at_ a pixel is f(i,j)

5
Two Dimensional Images
Y
  • Images (at least the ones in this class) are two
    dimensional shapes.
  • The two axes we will label as X (horizontal), and
    Y (vertical).

Y Axis
(0,0)
X Axis
X
6
Hardware Pipeline
Input
Output
Computation
We want to draw a rectangle, how do we describe
it to a computer?
Model (n) - object description that a computer
understands.
7
Partition the space
1. Define a set of points (vertices) in 2D space.
2. Given a set of vertices, draw lines between
consecutive vertices.
(7,9)
(14,9)
(7,3)
(14,3)
Vertex (pl. Vertices) - a point in 2 or 3
dimensional space.
8
Record every position
Bitmap - a rectangular array of bits mapped
one-to-one with pixels.
9
Representing Objects
  • Most common method is the VERTEX method. Define
    the object as a set of points with connectivity
    information.
  • Why is connectivity important?

Connectivity - information that defines which
vertices are connected to which other vertices
via edges. Edge - connects two vertices
10
A Simple Program
  • Generate a square on a solid background

11
simple.c
include ltGL/glut.hgt void mydisplay()
glClear(GL_COLOR_BUFFER_BIT) glBegin(GL_QUADS)
glVertex2f(-0.5, -0.5)
glVertex2f(-0.5, 0.5)
glVertex2f(0.5, 0.5)
glVertex2f(0.5, -0.5) glEnd() glFlush()
int main(int argc, char argv) glutCreateW
indow("simple") glutDisplayFunc(mydisplay)
glutMainLoop()
12
How do we do this?
13
Practical Approach
  • Process objects one at a time in the order they
    are generated by the application
  • Pipeline architecture
  • All steps can be implemented in hardware on the
    graphics card

Input
Output
Computation
application program
display
14
simple.c
include ltGL/glut.hgt void mydisplay()
glClear(GL_COLOR_BUFFER_BIT) glBegin(GL_QUADS)
glVertex2f(-0.5, -0.5)
glVertex2f(-0.5, 0.5)
glVertex2f(0.5, 0.5)
glVertex2f(0.5, -0.5) glEnd() glFlush()
int main(int argc, char argv) glutCreateW
indow("simple") glutDisplayFunc(mydisplay)
glutMainLoop()
15
Synthetic Camera Model
projector
p
image plane
projection of p
center of projection
16
Vertex Processing
  • Much of the work in the pipeline is in converting
    object representations from one coordinate system
    to another
  • Object coordinates
  • Camera (eye) coordinates
  • Screen coordinates
  • Every change of coordinates is equivalent to a
    matrix transformation
  • Vertex processor also computes vertex colors

17
Projection
  • Projection is the process that combines the 3D
    viewer with the 3D objects to produce the 2D
    image
  • Perspective projections all projectors meet at
    the center of projection
  • Parallel projection projectors are parallel,
    center of projection is replaced by a direction
    of projection

18
Primitive Assembly
  • Vertices must be collected into geometric objects
    before clipping and rasterization can take place
  • Line segments
  • Polygons
  • Curves and surfaces

19
Clipping
  • Just as a real camera cannot see the whole
    world, the virtual camera can only see part of
    the world or object space
  • Objects that are not within this volume are said
    to be clipped out of the scene

20
Rasterization
  • If an object is not clipped out, the appropriate
    pixels in the frame buffer must be assigned
    colors
  • Rasterizer produces a set of fragments for each
    object
  • Fragments are potential pixels
  • Have a location in frame bufffer
  • Color and depth attributes
  • Vertex attributes are interpolated over objects
    by the rasterizer

21
Fragment Processing
  • Fragments are processed to determine the color of
    the corresponding pixel in the frame buffer
  • Colors can be determined by texture mapping or
    interpolation of vertex colors
  • Fragments may be blocked by other fragments
    closer to the camera
  • Hidden-surface removal
Write a Comment
User Comments (0)
About PowerShow.com