Computer graphics/2013-2014/Laboratory agenda

Laboratory 1

 * 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

 * (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

 * 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

 * 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

 * 2D GRAPHICS BASICS (PART 6):
 * Placing text in the scene


 * 2D APPLICATION
 * Simple StarChart


 * PUBLISHING YOUR JOGL APPLICATION
 * Java Web Start
 * JNLP

Laboratory 6

 * 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

 * USER CONTROL:
 * Keyboard and mouse control


 * MORE ON MODELVIEW MANAGEMENT:
 * Model
 * Transformations
 * Rotation
 * Translation
 * Scaling
 * Viewing
 * Camera control

Laboratory 8

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


 * OBJECT PICKING

Laboratory 9

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

Laboratory 10

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

Laboratory 11

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

Laboratory 12

 * 3D APPLICATION:
 * Simple Space Simulator

Laboratory 13

 * 3D APPLICATION
 * Simple scene

Laboratory 14

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

You can find romanian slides at - Grafica si Interfete - 2014-2015 - info.uvt.ro