什么是OpenGL分配纹理ID的方法?

时间:2011-01-05 02:48:38

标签: c++ opengl textures

我有一个加载纹理的函数,并返回新生成的GLuint。如果它无法加载纹理,我需要知道应该返回什么。因此,如果glGenTextures开始将纹理ID分配为1,我可以返回GL_FALSE等。

2 个答案:

答案 0 :(得分:8)

它是实现定义的。

您不需要知道,也不应该关心,实现如何为任何对象分配名称(或ID,如您所称)。您只需要跟踪表示对象的整数,以便绑定它,并在完成后释放它。

如果您还没有将数字跟踪为代表纹理,那么您可以随时致电glIsTexture()查找。

除非系统内存耗尽,否则

glGenTextures将无法提供新名称。名称0从不使用,并且是纹理的保留名称。所有名称都是非零的无符号整数。

答案 1 :(得分:1)

这回答了你的问题:

Is 0 a valid OpenGL texture ID?