About this site

This web site teaches how to effectively debug 3D graphics programs. The target audience is college students taking 3D graphics programming courses. But novice to intermediate level 3D graphics programmers can benefit from these materials. 

Debugging any program can be time consuming and frustrating. But debugging 3D graphics programs can be particularly difficult because of the parallel processing nature of GPU programming and the complexity of writing programs for two processors: CPU and GPU. Debugging 3D graphics programs also requires different tools and sometimes different methods from debugging Java or C++ programs. Many students told us that they spent hours or even days trying to debug a program. We believe a more systematic and disciplined debugging approach can save them a lot of time. 

However, most textbooks and 3D graphics programming guides do not provide sufficient coverage on debugging techniques. Online resources on debugging 3D graphics programs are also scarce. This project is an attempt to address this issue. 

This web site contains the following materials. 

  • A classification and discussion of common bugs in 3D graphics programs. 
  • A discussion of various debugging methods. 
  • Checklists for finding common errors. 
  • Tutorials on how to use GPU debugging tools. 
Examples are given in OpenGL and WebGL, but the bug classification and debugging methods also apply to Direct3D programming. 

How to use this site?  

For students

Students can use this web site as a guide for debugging their 3D graphics programs. 

For instructors

This web site can be used as supplemental teaching materials for college level courses on 3D computer graphics, game programming, GPU programming, etc. Instructors may provide this web site as a reference to their students for learning debugging techniques. An example can be found here