作为对不同问题(opengl: adding higher resolution mipmaps to a texture)的跟进,我想模仿gDEBugger的一个功能。我想找到当前分配的纹理的总大小,用于决定解决该问题的不同方法。
我想要做的具体事情是弄清楚gDEBugger如何在“视图/查看器/图形和计算内存分析viwer”中填写信息,并在该窗口中显示它告诉我大小总和的位置所有当前加载的纹理。
对于nvidia显卡,我可以调用“glGetIntegerv(GL_GPU_MEM_INFO_CURRENT_AVAILABLE_MEM_NVX,@ mem_available);”在开始纹理测试之前和之后,做出改变,并获得所需的结果。
对于ATI / AMD,似乎我可以调用“wglGetGPUInfoAMD(0,WGL_GPU_RAM_AMD,GL_UNSIGNED_INT,4,& mem_available);”在纹理测试之前和之后获得想要的结果。
对于英特尔视频卡而言,我找不到合适的关键词放入各种搜索引擎来解决这个问题。
那么,任何人都可以帮助弄清楚如何使用intel卡进行此操作并确认我将用于ati / amd和nvidia卡的方法?
编辑:似乎对于amd / ati卡我之前写的内容可能是总内存和当前内存我应该使用“glGetIntegerv(GL_TEXTURE_FREE_MEMORY_ATI,& mem_avail);”
edit2:作为参考,这里似乎是我为ati / amd和nvidia卡写的最简洁和准确的来源:http://nasutechtips.blogspot.ca/2011/02/how-to-get-gpu-memory-size-and-usage-in.html