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