2

我在 Android 中编程 OpenGL 1.1 ES,即使用固定管道。

我正在使用glGenTexturesand glGenBuffers,它返回数组中的索引(我一次只将它们用于一个纹理/缓冲区)。该索引的保证有效(和无效)范围是多少?

根据经验,我观察到有效的索引以 1 开头,但文档没有提及它。值 0 是否保证无效?

我需要它,因为有时我需要检查纹理/缓冲区是否已经加载。如果 0 可以是有效的,我需要将我的值初始化为 -1(以便能够检测到它们未初始化/卸载),但如果 0 是无效的纹理/缓冲区名称,那么事情就更容易了。

在 Android 中,anint[]已填充,但在 OpenGL ES API 中,我看到那里有GLUint值。所以我担心(理论上)即使在我的 Android 程序中初始化为 -1 也可能是不正确的,因为(理论上)一个 uint 可以返回 0xFFFFFFFF。

那么什么是有效范围,什么是无效范围/值,我可以确定它不代表有效的纹理/缓冲区名称(索引)?

4

0 回答 0