Syllabus   Blank Homework   Quizzes  
Notes   Labs   Scores   Blank


Lecture Notes
Dr. Tong Yu, Sept. 2013
All the materials presented here are adopted from the textbook and the listed references.
    1. Introduction
    2. Line Drawing
    3. Drawing Objects
    4. More Drawing Tools
    5. Vertex Array
    6. Normal Vectors and Polygonal Models of Surfaces
    7. Viewing I -- Affine Transformations
    8. Viewing II -- Projections
    9. Color
    10. Lighting
    11. Blending, antialiasing, fog ..
    12. Display Lists, Bitmaps and Images
    Appendix. Games and SDL

    Introduction
    1. Applications of Computer Graphics
    2. Computer Graphics and Image Processing The fields of computer graphics and image procesing are blending together more each year.
    3. Computer Graphics -- create pictures and images, synthesize them on the basis of some description, or model in a computer
    4. Image Processing -- improve or alter images that were created elsewhere

    5. Art, Entertainment, and publishing
      movie production, animation, special effects

      The Technology Behind Avatar (Movie)

      browsing on the World Wide Web
      slide, book, and magazine design

    6. Video Games
      latest computer graphics technologies are rapidly incorporated into latest video games

       
      Warcraft   Halo 3
    7. Monitoring a Process

      Examples


    8. Displaying Simulations
      e.g. virtual reality


    9. Computer-aided Design
      e.g. Computer-aided Architectural Design, Electrical Circuit Design

    10. Scientific Analysis and Visualization
      presenting scientific information in the right way let you gain new insights into the investigating process

    11. Digital shape sampling and processing (DSSP)
      DSSP describes the ability to use scanning hardware and processing software to digitally capture physical objects and automatically create accurate 3D models with associated structural properties for design, engineering, inspection and custom manufacturing. What digital signal processing (DSP) is to audio, DSSP is to 3D geometry.

      A Perceptron laser scanner scanned the original fan blade, and generated a point cloud with around 2.2 million points that was brought into DSSP software.

      DSSP software was used to automatically generate a NURBS surface model, which could be imported into Pro/ENGINEER software.

      see http://www.geomagic.com/en

    12. Video Compression
        MPEG-4 Visual specifies support for animated face and body models within the Simple Face Animation and simple FBA ( Face and Body A nimation )

        a face model described by Facial Definition Parameters ( FDPs ) and animated using Facial Animation Parameters ( FAPs ).
        body is described by body animation parameters ( BAP )

        See also http://coven.lancs.ac.uk/mpeg4/


    13. What is OpenGL?
    14. Application programming interface ( API )
      a collection of routines that the programmer can call, along with a model of how the routines work together to produce graphics
      250 distinct commands ( about 200 core, 50 utility )  

    15. Device-independent graphics programming
      • produce nearly identical outputs in various hardware platforms
      • no user-input commands in core
      • no high-level commands for 3-D objects, one must build model from primitives -- points, lines, and polygons
      • OpenGL Utility Library ( GLU ) provides many modeling features,
      • Cross-platform: MS Windows, Mac OS X, Linux, Sun Solaris ...; chosen as primary graphics library for iPhone, Android and Symbian OS in the OpenGL ES

      Why you should use OpenGL and not DirectX

    16. Basics of OpenGL Code
    17. Rendering -- the process by which a computer creates images from models.
    18. Models or objects are constructed from geometric primitives such as points, lines, polylines, polygons which are defined by one or more vertices.
    19. Functions calls between glBegin() and glEnd()
    20. Example -- drawing 3 points
      	glBegin( GL_POINTS );
      	  glVertex2i( 100, 40 );
      	  glVertex2i( 120, 50 );
      	  glVertex2i( 140, 80 );
      	glEnd();
      	
      glVertex2i(...)
      gl
      gl
      library  
      Vertex
      basic
      command  
      2
      number of
      arguments  
      i
      type of
      arguments  

    21. Data Types:
      Suffix    Data TypeCorresponding  
      C type
      OpenGL Type  
      Deinfition
      b8-bit Integersigned charGLbyte
      s16-bit IntegershortGLshort
      i32-bit Integerint or longGLint, GLsizei
      f32-bit Floating-pointfloatGLfloat, GLclampf
      d64-bit IntegerdoubleGLdouble, GLclampd
      ub8-bit Unsigned Integerunsigned charGLubyte, GLboolean
      us16-bit Unsigned Integersigned shortGLushort
      ui32-bit Unsigned Integer    unsigned int or
      unsigned long
      GLuint, GLenum, GLbitfield
        glVertex2i ( 7, 11 );
        glVertex2f ( 7.0, 11.0 );
        are the same

    22. Number of Arguments: 2, 3, 4

    23. Formats:
      • 'v' indicates vector format
      • absence of 'v' indicates scalar format
      • Example: glColor3f( 1.0, 0.0, 0.0 );

        GLfloat color_array[] = {1.0, 0.0, 0.0};
        glColor3fv( color_array );

    24. The Event Loop
    25. OpenGL as a State Machine
    26. Demo Programs