3D 圖學
3D Graphics
教師 陳炳宇 & 葉正聖
時間 每週四 14:00-17:00
  ® 09:00-12:00 (since 2/23)
教室 數位內容學院

Syllabus


Homework

  1. Build a program with a friendly GUI using OpenGL (also GLUT and GLUI) 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 = 12/8
  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 = 1/26
  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 = 2/23
  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 = 3/30
  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 = 4/20

Textbooks


Reference


Grade Measurement


Pre-courses (better-to-have)


Last Update: