我在Android中编写OpenGL 1.1 ES,即使用固定管道。
我正在使用glGenTextures
和glGenBuffers
,它返回数组中的索引(我一次仅将它们用于一个纹理/缓冲区)。这个索引的保证有效(和无效)范围是多少?
根据经验,我观察到有效索引以1开头,但文档没有提及任何相关内容。值0是否保证无效?
我需要它,因为有时我需要检查纹理/缓冲区是否已经加载。如果0可以有效,我需要将我的值初始化为-1(以便能够检测到它们是未初始化/未加载的),但如果0是无效的纹理/缓冲区名称,那么事情就更容易了。
在Android中,int[]
已填满,但在OpenGL ES API中,我看到其中有GLUint
个值。所以我担心(理论上)甚至在我的Android程序中初始化为-1可能是不正确的,因为(理论上)一个uint可以返回0xFFFFFFFF。
那么什么是有效范围,什么是无效范围/值,我可以确定它不代表有效的纹理/缓冲区名称(索引)?