Week 8:  October 27 - November 2

OUTLINE:

Solid Modeling with Polygonal Meshes (Hill, Chapter 6)

  • Normal Vectors - Face vs Vertex
  • Defining the Mesh
    • orientation (outside vs inside)
    • Vertex list
    • Face list
    • Normal list
  • Finding the Normal Vectors
    • Newell's Method

Blending and Depth Buffer

Projections:

  • orthographic
  • perspective
    • glFrustum (left, right, bottom, top, zNear, zFar)
    • gluPerspective(fovy, aspect, zNear, zFar)

Returning to the Camera

  • Using gluLookAt to position and orient the camera
  • Generic position for the camera
  • The UVN coordinate system:
    • N = (eye - look)
    • U = <up> X N
    • V = N X U
    • Normalize each!

The Pipeline

  • The viewing matrix in the MODELVIEW mode
    • converts world coordinates into camera coordinates by transforming the UVN coord system into
          the generic position for the camera
  • The pipeline postmultiplies the current matrix by this matrix.

Returning to the Camera yet again (OpenGL Programming Guide, Chapter 3)

  • flythrough (pilot view)
  • sperical viewing
  • moving the camera intuitively

 


REFERENCE(S):

Computer Graphics Using OpenGL (Hill):
      Chapter 6,7;

OpenGL Programming Guide - Chapters 3 and 5;

GLUT Programming Interface:

DEMOS and FILES:

/classes/cs3014/files/Viewing/demo1.cpp
/classes/cs3014/files/Viewing/demo2.cpp
/classes/cs3014/files/Viewing/demo3.cpp
/classes/cs3014/files/Viewing/demo4.cpp
/classes/cs3014/files/Viewing/demo5.cpp
/classes/cs3014/files/Viewing/demo5b.cpp
/classes/cs3014/files/Viewing/demo6.cpp
/classes/cs3014/files/Viewing/demo8.cpp

/classes/cs3014/files/Blending/blend0.cpp

/classes/cs3014/files/Blending/blend1.cpp
/classes/cs3014/files/Blending/blend2.cpp
/classes/cs3014/files/Blending/blend3.cpp

EXERCISES: CLICK FOR PRINTABLE VERSION OF EXERCISES