我有一个对象,它拥有一个属性Texture_ID。我需要在构造函数中初始化Texture_ID的值,因此我希望使用一些未被OpenGL使用过的值来表示纹理尚未设置。
我不知道0是否是一个好的值?如果OpenGL对纹理ID应用了某个范围,我想要一个超出这个范围的值。有什么建议吗?
我有一个对象,它拥有一个属性Texture_ID。我需要在构造函数中初始化Texture_ID的值,因此我希望使用一些未被OpenGL使用过的值来表示纹理尚未设置。
我不知道0是否是一个好的值?如果OpenGL对纹理ID应用了某个范围,我想要一个超出这个范围的值。有什么建议吗?
0就是你需要的值(表示未设置纹理ID/未创建的纹理),因为0从来不是一个有效的纹理ID。
我更愿意在构造函数中初始化纹理。这样你就永远不会有一个处于无效状态的对象。
0
是OpenGL用于其自己的默认纹理的值。它从不将该值返回给您,您可以将该值用于错误检查。
但我建议使用-1
。
0xffffffff
。对你来说它仍然是-1
! - Shahbaz
glBindTexture
不会导致错误,但也没有任何效果(或未定义的效果、黑色纹理或其他)。因此,0非常适合表示未初始化/无效的纹理。 - Christian Rau