Chapter 2
Download
1 / 18

Chapter 2 - PowerPoint PPT Presentation

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”

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

Download Presentation

Chapter 2

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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);


ad
  • Login