180 likes | 533 Views
Chapter 2 Graphics Programming 24 Jan 20067 Sierpinski Gasket pre-Mandelbrot classic found by W. Sierpinski around World War I. generated by recursivly dividing a triangle into four congruent smaller triangles think of the interior triangles as "holes”
E N D
Chapter 2 • Graphics Programming • 24 Jan 20067
Sierpinski Gasket • pre-Mandelbrot classic • found by W. Sierpinski around World War I. • generated by recursivly dividing a triangle into four congruent smaller triangles • think of the interior triangles as "holes” • they occupy more and more of the total area, while the "solid" portion becomes as hopelessly fragile
Pseudocode 1. Pick a point at random inside the triangle 2. Select one of the three vertices at random 3. Find a point halfway between the initial point and the randomly selected vertex 4. Display this new point by putting some sort of marker, such as a small circle, at its location 5. Replace the initial point with this new point 6. Return to step 2
Pen Plotter • moveto(x,y) • lineto(x,y)
Problems with Pen-Plotter model • 3D difficult • must convert 3d world to 2d projection explicitly • OpenGL allows us to focus on building 3D world and let computer handle projections
Display funtion Check programs online - lectures/chapter1/lab, boat
Coordinate System 3D COORDINATE SYSTEMS Y Y Z X X LEFT HANDED RIGHT HANDED Z
Coordinate System in OpenGL • What units are x, y, and z? • your choice • device independent • world coordinate system • Before displaying on output device, world coordinates must be converted to device or raster or screen coordinates
POINT TO REMEMBER • We are studying computer graphics • We are not studying OpenGL • won’t cover all functions in OpenGL
Graphics System as a Black Box Function Calls Output User Program Graphics System Input/Output Devices Data Input
API Functions • Primitive Functions • Attribute Functions • Viewing Functions • Transformation Functions • Input Functions • Control Functions
OpenGL - What is it? • A graphics rendering library • API to produce high-quality, color images from geometric and raster primitives • Window System and Operating System independent • OpenGL “doesn’t do windows”
OpenGL • Most widely adopted graphics standard • Introduced in 1992 • High visual quality and performance • Industry standard • Stable • Reliable and portable • Evolving • Scalable. • Easy to use. • Well-documented.
Related APIs • GLU (OpenGL Utility Library) • guaranteed to be available • tesselators • quadrics • NURBs, etc. • some surprisingly common operations, such as projection transformations (such as gluPerspective)
Related APIs • GLX or WGL • bridge between window system and OpenGL • GLUT • portable bridge between window system and OpenGL • not “standard”, but uniformly popular
Homework • Read Chapter 3 • Assignment 2 - Program due 01/31/2007 • Display your scene in 3D. Use at least 5 different graphics primitives.
glOrtho (GLdouble left, GLdouble right, GLdouble, bottom, GLdouble top, GLdouble near, GLdouble far) • Creates a viewing volume with a box shape. • Direction of projection is parallel to z axis. • Viewpoint faces -z axis. • glOrtho (0.0, (GLdouble) w, 0.0, (GLdouble) h, -500.0, 500.0);