因为,例如,glBufferData可以报告 GL_OUT_OF_MEMORY 错误,我预计 glTexImage这样做,但事实并非如此。
大概可能会用完纹理内存,那么我该如何检测该事件?
最佳答案
任何 OpenGL 函数理论上都可能导致 GL_OUT_OF_MEMORY
错误,如果作为某些进程的副作用,内存需要分配但不能分配。正如 GL 4.4 核心配置文件第 2.3 节所述:
The Specification attempts to explicitly describe these implicit error conditions (with the exception of OUT_OF_MEMORY) wherever they apply
所以错误描述不必说 GL_OUT_OF_MEMORY
会发生。它总是可以的。尽管奇怪的是他们对此前后矛盾,特别是在某些情况下指出了这种可能性,但在其他情况下却没有。
关于是否可以检测 glTexImage 的内存不足错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18295027/