“GRADE-IV: visualizing graphics library operations in an executing program” by Abe and Igarashi

  • ©Hidehiko Abe and Takeo Igarashi




    GRADE-IV: visualizing graphics library operations in an executing program



    It is difficult for inexperienced programmers to debug three-dimensional (3D) computer graphics programs. One reason is that the relationship between the visual information rendered on the screen and the numerical information in the source code is difficult to understand. This sketch introduces a system to help programmers understand and debug computer graphics programs by visualizing those hidden relationships. The system allows the user to observe the spatial relationship between the camera and the scene from a third person view. The system also tells the user in which statement of the code each vertex position is specified. In addition, the system visualizes the sequence of spatial transformations applied to each vertex. To support these services, the system continuously observes the access to graphics library commands in the executing program and reconstructs the visual representation associated with the corresponding statements in the code. We implemented a prototype system, called GradeIV, using Java Debug Interface Library and Java Binding for the OpenGL to show the feasibility of the idea.


    1. Duca, N., Niski, K., Bilodeau, J., Bolitho, M., Cchen, Y., and Cohen, J. 2005. A relational debugging engine for the graphics pipeline. ACM Trans. Graph. 24, 3, 453–463
    2. Hawk Software. GLTrace. http://www.hawksoft.com/gltrace/.
    3. Mohr, A., and Gleicher, M. 2002. HijackGL: reconstructing from streams for stylized rendering. In NPAR ’02

ACM Digital Library Publication:

Overview Page: