3D Game Technology
2013 All
Instructors Yu-Chi Lai
Office Hour

Monday 9:00~11:00 AM

TA Hsuan-Ting Chou
Kuo-Wei Chen
Lectures
Week Content Notes Assignment

01

Administrative

  • Tell us about yourself.
  • Experience...
    • OpenGL?
    • C++
    • Math?
  • Why did you sign up for this class?
  • What do you hope to learn?
[Note] 

02

Game Anatomy

  • Work for modeling
  • Designing interactive software
  • Interactive applications
  • Script Languages
  • XML
  • Text and binary data
  • Event-driven and sequential programming
[Note] 

03

Input Device

  • Sensors in market
  • Wii Remote & Fit
  • PS move
  • XBOX 360 Kinect
  • Gyro
  • GPS
  • Accelerator
  • IPhone sensor

04

Local Illumination

  • Simple reflection model
  • Simple light source model
  • Shading methods
[Note] 

05

Texture Pipeline

  • Graphics Pipeline
  • Texture Mapping
  • Mapping Techniques
  • Advanced Texturing
[Note] 

06

Multiple pass

  • Reflection
  • Transmission
  • Caustics
  • Instant Radiosity
  • Shadow
    • Dirty shadow
    • Shadow map
    • Shadow volume
    • Ambient occlusion
[Note] 

07

CUDA

  • Introduction to GPU
  • Introduction to CUDA
  • Graphics Pipeline
  • Rendering process
  • Shader
  • Stream processor
  • Memory architecture
[Note] 

08

Shader

  • Vertex shader
  • Pixel shader
  • GPU programmming language
  • GLSL Examples
[Note] 

09

Visibility

  • Spatial partitioning
  • Uniform grid
  • Octree
  • Kd-tree
  • BSP-tree
  • BVH
[Note] 

 

10

LOD and Terrain

  • Level of detail selection
  • LOD Error Metrics
  • Progressive LOD
  • View Dependent LOD
  • Terrain LOD
  • Terrain Dynamic LOD
  • Terrain Generation
[Note] 

11

Physics

  • Differential Equations
  • Overview of differential equation
  • Initial value problem
  • Explicit numeric methods
  • Implicit numeric methods
  • Modular implementation
[Note] 

12

Particles

  • Particle overview
  • Second order motion
  • Particle system
  • Forces: gravity, springs …
  • Implementation and Interaction
  • Simple collisions
[Note] 
PreRequisites

Technically, Computer Graphics and good C++ programming skills. 

Exam

No exam

Grading
  • Projects (10, 10, 20% each): 40%
  • Maya (Midterm: 20 and Final: 25 %): 45 %
  • Game Review: 15%
Homework
  • Set 0: Siggraph 2013 Course
    1. Tomas Barak, Jiri Bittner , Vlastimil Havran, Temporally Coherent Adaptive Sampling for Imperfect Shadow Maps 
    2. Ville Timonen, Line-Sweep Ambient Obscurance 
    3. Li Shen, Jieqing Feng, Baoguang Yang , Exponential Soft Shadow Mapping 
    4. Wen-Chieh Lin, Tsung-Shian Huang, Tan-Chi Ho, Yueh-Tse Chen, Jung-Hong Chuang, Interactive Lighting Design with Hierarchical Light Representation 
    5. Daniel Scherzer, Stefan Jeschke, Michael Wimmer, Pixel-Correct Shadow Maps with Temporal Reprojection and Shadow Test Confidence
    6. Thomas Annen, Tom Mertens, Philippe Bekaert, Hans-Peter Seidel, Jan Kautz, Convolution Shadow Maps
    7. Tobias Ritschel, Thorsten Grosch, Jan Kautz, Stefan Muller, Interactive Illumination with Coherent Shadow Maps
    8. Samuli Laine, Hannu Saransaari, Janne Kontkanen, Jaakko Lehtinen, Timo Aila, Incremental Instant Radiosity for Real-Time Indirect Illumination
    9. Wyman, C.: An approximate image-space approach for interactive refraction. ACM Trans. Graph. 24(3), 1050–1053 (2005)
    10. Wyman, C., Davis, S.: Interactive image-space techniques for approximating caustics. In: Proceedings of the 2006 Symposium on Interactive 3D Graphics and Games, I3D ’06, pp. 153–160 (2006)
    11. Zhou, K., Hou, Q., Wang, R., Guo, B.: Real-time KD-tree construction on graphics hardware. ACM Trans. Graph. 27(5), 126:1–126:11 (2008)
    12.  Xu, K., Ma, L.Q., Ren, B., Wang, R., Hu, S.M.: Interactive hair rendering and appearance editing under environment lighting. ACM Trans. Graph.30(6), 173:1–173:10 (2011)
    13. Dachsbacher, C., and Stamminger, M. 2005. Reflective shadow maps. In Proc. of the Symposium on Interactive 3D Graphics and Games
    14. Kaplanyan A., Dachsbacher C. 2010. Cascaded Light Propagation Volumes, In Proc. of the ACM SIGGraph Symposium on Interactive 3D Graphics and Games
    15. Keller, A. 1997. Instant radiosity. In SIGGRAPH ’97: Proceedings of the 24th annual conference on Computer graphics and interactive techniques
    16. Kirk, Adam G. and Arikan, Okan (2007): Real-time ambient occlusion for dynamic character skins. In: Gooch, Bruce and Sloan, Peter-Pike J. (eds.)Proceedings of the 2007 Symposium on Interactive 3D Graphics, SI3D 2007, April 30 - May 2, 2007, Seattle, Washington, USA 2007. pp. 47-52.
    17. Ikemoto, Leslie, Arikan, Okan and Forsyth, David A. (2006): Knowing when to put your foot down. In: Olano, Marc and S�quin, Carlo H. (eds.) Proceedings of the 2006 Symposium on Interactive 3D Graphics, SI3D 2006, March 14-17, 2006, Redwood City, California, USA 2006. pp. 49-53.
  1. Set2: Motion Graphs Set
    1. Lucas Kovar, Fred Pighin and Michael Gleicher, Motion Graphs SIGGRAPH 2001
    2. Jehee Lee et al., Interactive Contol of Avatars Animated With Human Motion Data SIGGRAPH 2002
    3. Okan Arkan and David Forsyth, Interactive Motion Generation From Examples SIGGRAPH 2002
    4. Motion Graphs++: A Compact Generative Model for Semantic Motion Analysis and Synthesis 
    5. Jianyuan Min, Jinxiang Chai, Philippe Beaudoin, Michiel van de Panne, Pierre Poulin and Stelian Coros,Motion-Motif Graphs, Symposium on Computer Animation (SCA) 2008.
    6. Liming Zhao and Alla Safonova, Achieving Good Connectivity in Motion Graphs, SCA 2008.
    7. Michael Gleicher , Hyun Joon Shin, Lucas Kovar, and Andrew Jepsen., Snap Together Motion. I3D 2003.
    8. Heck, Rachel and Michael Gleicher. Parametric Motion Graphs. Proceedings of Symposium on Interactive 3D Graphics and Games 2007
    9. Lucas Kovar's thesis Automated Methods for Data-Driven Synthesis of Realistic and Controllable Human Motion
    10. Sofien Bouaziz, Yangang Wang, Mark Pauly, Online Modeling For Realtime Facial Animation , Siggraph 2013
    11. Chen Cao, Yanlin Weng, Stephen Lin, Kun Zhou,3D Shape Regression for Real-time Facial Animation , Siggaph 2013
    12. Hao Li, Jihun Yu, Yuting Ye, Chris Bregler, Realtime Facial Animation with On-the-fly Correctives, Siggraph 2013
    13. Yangang Wang, Jianyuan Min, Jianjie Zhang, Yebin Liu, Feng Xu, Qionghai Dai, Jinxiang Chai, Video-based Hand Manipulation Capture Through Composite Motion Control , Siggraph 2013
    14. Wanyen Lo and Matthias Zwicker, Real-Time Planning for Parameterized Human Motion. SCA 2008.
    15. Stelian Coros, KangKang Yin, Philippe Beaudoin and Michiel van de Panne. Synthesis of Constrained Walking SkillsACM Transactions on Graphics (Proc. SIGGRAPH Asia 2008).
  2. Set3L Physical Simulation
    1. Yubo Zhang, Kwan-Liu Ma, Spatio-temporal Extrapolation for Fluid Animation, Siggraph asia.
    2. Zherong Pan, Jin Huang, Yiying Tong , Changxi Zheng , Hujun Bao Interactive Localized Liquid Motion Editing 
    3. Nadir Akinci, A. Dippel, Gizem Akinci, Matthias Teschner , Versatile Surface Tension and Adhesion for SPH Fluids
    4. Dan Gerszewski, Adam W. Bargteil , Physics-based Animation of Large-scale Splashing Liquids 
    5. C. Horvath and W. Geiger, Directable, High-resolution Simulation of Fire on the GPU, SIGGRAPH 2009.
    6. Huamin Wang, Miao Liao, Qing Zhang, Ruigang Yang and Greg Turk,Physically Guided Liquid Surface Modeling from Videos, SIGGRAPH 2009.
    7. Lily Kharevych, Patrick Mullen, Houman Owhadi and Mathieu Desbrun,Numerical Coarsening of Inhomogeneous Elastic Materials, SIGGRAPH 2009.
    8. Jernej Barbič, Marco da Silva, Jovan Popović,Deformable Object Animation Using Reduced Optimal Control, SIGGRAPH 2009.
    9. Baraff and Witkin Large Steps in Cloth Simulation?, SIGGRAPH 1998
    10. Stam, Real-Time Fluid Dynamics for Games?, GDC, 2003.
    11. Bridson et al. Robust Treatment of Collisions, Contact, and Friction for Cloth Animation, SIGGRAPH 2002
    12. Eric G. Parker and James F. O'Brien. Real-Time Deformation and Fracture in a Game Environment. In Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pages 156–166, August 2009.
    13. Chris Hecker and Bernd Raabe and Ryan W. Enslow and John DeWeese and Jordan Maynard and Kees van Prooijen,Real-time Motion Retargeting to Highly Varied User-Created Morphologies, Proceedings of ACM SIGGRAPH '08
  3. Set4: Global illumination
    1. Whitted ray tracing
    2. Distributed ray tracing 
    3. Monte Carlo Integration and Path tracing (許乃晟)
    4. Multiple importance sampling for direct lighting
    5. Photonmap
    6. Progressive photonmap
    7. Irradiance caching
    8. Metropolis light transport
    9. Tzu-Mao Li, Yu-Ting Wu, Yung-Yu Chuang, SURE-based Optimization for Adaptive Sampling and Reconstruction 
    10. Adam Arbree, Bruce Walter, Kavita Bala, Single-pass Scalable Subsurface Rendering with Lightcuts, in Computer Graphics Forum, 27(2), (Eurographics 2008), April 2008
    11. Bruce Walter, Sebastian Fernandez, Adam Arbree, Kavita Bala, Michael Donikian, Donald P. Greenberg, Lightcuts: A Scalable Approach to Illumination, ACM Transactions on Graphics (SIGGRAPH 2005), July 2005
    12. Milos Hasan, Jaroslav Krivanek, Bruce Walter, Kavita Bala,   Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes, ACM Transactions on Graphics (SIGGRAPH Asia 2009), December 2009
    13. Peter-Pike SLoan, Jan Kautz, John Snyder, Precomputed radiance transfer for real-time rendering in dynamic, low-frequency lighting environments, Siggraph 2002
    14. Bruce Walter, Adam Arbree, Kavita Bala, Donald P. Greenberg, Multidimensional Lightcuts, ACM Transactions on Graphics (SIGGRAPH 2006), July 2006
    15. Miloš Hašan , Fabio Pellacini , Kavita Bala, Matrix row-column sampling for the many-light problem, ACM Transactions on Graphics (TOG), v.26 n.3, July 2007
Syllabus

This course was carefully titled to indicate its content. It covers various computing technologies useful for computer game development. It does NOT cover game development as a topic in itself, nor does it cover game design, and it doesn't even cover all the computing technology that might go into a game (one glaring oversight is audio).

Some of the course content may be covered by other NTUST CSIE courses, but the emphasis in this course will be on real-time performance. This course will also, no doubt, contain many basic computer science algorithms in an application setting that tend not to be covered in other courses, such as spatial data structures.

 

Course Content

  • Anatomy of a Game
  • Introduction to Lag
  • Drawing Things
     
    • Mapping Techniques
      • Multi-texturing
      • Bump mapping
      • Light maps
      • Environment maps
      • Interesting uses for Textures
       
    • Multi-Pass Techniques
      • Buffers in the Graphics Pipeline
      • Shadows
      • Reflections
      • Interesting use for Buffers
       
    • Programming Graphics Hardware
       
    • Spatial Data Structures
      • Octrees
      • KD-Trees
      • BSP Trees
      • Spatial Hashing
       
    • Level of Detail
      • Impostors or Proxies
      • Decimation Schemes
      • Switching Representations
      • Progressive Schemes
       
    • Visibility
      • Cell-Portal Methods
      • PVS Computations
       
    • Terrain
      • Terrain Generation
      • Terrain Rendering
     
  • Making Things Move
    • Event Driven AI
    • State Machines
    • Scripting AI
       
    • Path Planning
      • A* Planning
      • Storing Paths
      • Alternatives
      • Path Following
       
    • Collision Detection
    • Motion Capture and Playback
    • Player and Camera Control
     
  • Playing with Others
    • Player and Camera Control
    • Network Architectures
    • Network Protocols for Gaming
    • Lag Compensation
       
    • Reducing Traffic
      • Dead-Reckoning
      • Area-of-Interest Management
    • Cheating and Fixes