3D 圖學
3D Graphics
教師 陳炳宇
時間 每週四 09:00-12:00
教室 數位內容學院

Syllabus


Homework

  1. Build a program with a friendly GUI using OpenGL (also GLUT and GLUI or FLTK) and/or other libraries like MFC.
      Please use C/C++ as the programming language.
      You can use any platform you want, for example a Wintel / Linux PC or Unix-base workstation.
      Request functions: create a window, add menu control
      Bonus functions: good GUI
      deadline = 10/5
  2. Build a program for showing one or two primitives, like sphere or cube, in wireframe mode.
      Use the program of homework #1 as the base.
      Request functions: 3D transformations (translation, rotation, scaling) and projections (parallel, perspective) by mouse and keyboard, change background and wireframe colors, double-buffer
      Bonus functions: virtual trackball, clipping plane, visible-surface determination (back-face culling)
      deadline = 11/9
  3. Build a program for showing one or two primitives in shading mode.
      Use the program of homework #2 as the base.
      Request functions: multiple light sources (at least 2), shading (flat, Gouraud), depth-buffer
      Bonus functions: shadows, transparency
      deadline = 1/4
  4. Build a program for showing 3D models in shading mode.
      Use the program of homework #3 as the base.
      You can use model loading libraries to do so.
      Bonus functions: write model, read other 3D model formats, support your own model format
      deadline = 2/1
  5. Build a program for showing one or two primitives with texture mapping.
      Use the program of homework #3 as the base.
      You can use image loading libraries to do so.
      Bonus functions: mip-mapping, environment mapping, read several image formats
      deadline = 3/1

Textbooks


Reference


Grade Measurement


Pre-courses (better-to-have)


Last Update: