转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=905

GLIntercept 0.5了那么多年之后,1.0 Beta终于出了。GLIntercept在功能上类似gDEBugger,可以拦截OpenGL 1.0-2.1的函数调用,然后:

  • 把所有的OpenGL函数调用保存到文本或者XML格式,用来记录每一帧。
  • 在运行期显示和编辑shader。支持ARB VP/FP/GLSL和NV VP/FP。
  • 改摄像机。自由浏览发给显卡的几何信息,打开/关闭线框模式/背面剔除/视锥。
  • 保存和跟踪纹理。(支持绑在1D、2D、3D、NVRect和p-buffer上的纹理。)可以保存成TGA、PNG和JPG格式。
  • 保存和跟踪shader/program。0.41开始支持ARB VP/FP/GLSL和NV VP/FP。
  • 保存和跟踪display list。
  • 在render call之前和之后保存OpenGL frame buffer (color/depth/stencil)。可以保存之前和之后图像的差异。
  • 跟踪错误状态(记录到调试器输出上),也可以在错误时中断。
  • 基本的线程错误检测。
  • 记录函数执行时间。
  • 跟踪context、display list、shader和texture的资源泄露。
  • 覆盖OpenGL扩展/版本。增加/删除/替换掉OpenGL扩展和版本字符串。(不用换显卡就能测试低端显卡的渲染路径)

GLIntercept 1.0+开始改用MIT的license,继续保持开源。

虽说现在gDEBugger可以免费一年,但存在一个功能类似的开源产品,还是比较欣慰的。