gDebugger 向我展示了在应用程序中按维度分组创建的纹理。我还想计算从我的应用程序开始创建的纹理数量以检查纹理泄漏。我没有看到任何 OpenGl 函数直接返回创建的纹理 ID 的计数;计算应用程序中创建的纹理的最佳方法是什么?
问问题
81 次
1 回答
2
没有可以批量执行的 GL 函数,但仅出于调试目的,您可以简单地遍历所有“可能”的 id(因此是数字),并检查glIsTexture
:
const unsigned reasonably_big_value = 100000;
for (unsigned i = 0; i < reasonably_big_value; ++i) {
if (glIsTexture(i)) {
// count it somehow
}
}
至少我知道,没有办法在运行时获得纹理维度。glGetTexLevelParameter
需要一个target
参数,因此您可以自行处理。
gDEBugger 充当中间人并跟踪所有 GL 调用 IIRC,因此它可以拥有自己的镜像纹理注册表。
于 2013-09-23T09:10:50.387 回答