Computer graphics -- 2008-2009 -- info.uvt.ro/Laboratory agenda

From Wikiversity

Quick links: front; laboratories agenda, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, JOGL template.


Laboratory 1[edit]

  • AGENDA SUMMARY
  • EVALUATION SUMMARY
  • TOOLS, FRAMEWORKS, LIBRARIES
    • Eclipse
    • JOGL
  • INTRODUCTION TO COMPUTER GRAPHICS
    • Computer Graphics
    • 2D / 3D Graphics
    • Digital Images
      • Definition
      • Resolution
      • Color Depth/Space
      • File Formats
    • Graphics Processing Unit (GPU)
  • TECHNOLOGIES
    • OpenGL
    • DirectX
    • Java 2D / Java 3D
    • JOGL -- Java OpenGL (this is what will use)
    • XNA
    • X3D (VRML)

Laboratory 2[edit]

  • (J)OGL BASICS
    • What is JOGL?
    • Comparison with OpenGL
    • OpenGL as a state machine
    • Naming conventions
    • Creating our first simple JOGL scene using AWT (or the well known Hello World program)
      • Installing JOGL libraries
      • Setting up an AWT application
      • Initializing JOGL
      • Callback functions (methods)
      • Drawing
        • Animation
    • JOGL Application Template
  • 2D GRAPHICS BASICS (PART 1)
    • Coordinate Systems (JOGL vs. AWT)
    • Coordinate Spaces
    • Projections (orthogonal, perspective), View-port and View Volume
    • Vertices vs. Points. vs. Pixels
    • List of points (lines, line strip, line loop)
    • Changing the properties of points (size) and lines (width, stipple)
    • Coloring

Laboratory 3[edit]

  • 2D GRAPHICS BASICS (PART 2)
    • Antialising
    • Polygons
      • Validity
      • What are they made of?
      • Dimensionality
      • Polygon Primitives
        • Triangles (normal, fan, list)
        • Quads (normal, strip)
        • Rectangles
      • Polygon filling and orientation
      • Polygon stipple
      • Polygon normals
    • Using Display Lists

Laboratory 4[edit]

  • 2D GRAPHICS BASICS (PART 3):
    • Textures
    • 2D and 3D textures
      • Texture Files (.PNG, .TGA, .JPG, .BMP)
      • Reading a texture file and applying the texture on an object
      • MipMapping
      • Replacing parts of a texture with another
      • Texture transparency and blending

Laboratory 5[edit]

  • 2D GRAPHICS BASICS (PART 6):
    • Placing text in the scene
  • 2D APPLICATION
    • Simple StarChart
  • PUBLISHING YOUR JOGL APPLICATION
    • Java Web Start
    • JNLP

Laboratory 6[edit]

  • 3D GRAPHICS BASICS:
    • Perspective Projection, Depth and Shading, Looking at the scene from an arbitrary point
    • Drawing simple objects (sphere, torus)
      • Sphere mapping
    • Lighting and Materials
      • Lighting types (ambient, diffuse, specular, emitted)
      • Materials
      • Using materials combined with lighting

Laboratory 7[edit]

  • USER CONTROL:
    • Keyboard and mouse control
  • MORE ON MODELVIEW MANAGEMENT:
    • Model
      • Transformations
        • Rotation
        • Translation
        • Scaling
    • Viewing
      • Camera control

Laboratory 8[edit]

  • MORE ON STATE VARIABLES AND BUFFERS:
    • State variables: querying their values
    • Buffers: Color buffer, Stencil buffer, Accumulation buffer, Depth buffer
  • OBJECT PICKING

Laboratory 9[edit]

  • USING COMPLEX OBJECTS:
    • File formats (.3DS, .OBJ)
    • Loading complex objects in the scene
  • 3D GRAPHICS COMPLEX ISSUES (PART 1):
    • Billboards

Laboratory 10[edit]

  • 3D GRAPHICS COMPLEX ISSUES (PART 2):
    • World box
    • Handling object collisions

Laboratory 11[edit]

  • 3D GRAPHICS COMPLEX ISSUES (PART 3):
    • Creating a simple particle engine

Laboratory 12[edit]

  • 3D APPLICATION:
    • Simple Space Simulator

Laboratory 13[edit]

  • 3D APPLICATION
    • Simple scene

Laboratory 14[edit]

  • DirectX API overview
    • Drawing a basic scene using Managed DirectX and C#