AndroidでOpenGL 1.1 ESをプログラミングしています。つまり、固定パイプラインを使用しています。
私はglGenTextures
とglGenBuffers
を使用しています。これらは配列内のインデックスを返します (一度に 1 つのテクスチャ/バッファに対してのみ使用します)。このインデックスの保証された有効な (および無効な) 範囲は?
経験的に、有効なインデックスは 1 から始まることがわかりましたが、ドキュメントにはそれについて何も言及されていません。値 0 は無効であることが保証されていますか?
テクスチャ/バッファが既にロードされているかどうかを確認する必要がある場合があるため、必要です。0 が有効な場合は、値を -1 に初期化する必要があります (初期化されていない/アンロードされていることを検出できるようにするため) が、0 が無効なテクスチャ/バッファ名である場合は簡単です。
Android では anint[]
が埋められていますが、OpenGL ES API では、そこにGLUint
値があることがわかりました。したがって、(理論的には) uint は 0xFFFFFFFF を返す可能性があるため、(理論的には) Android プログラムで -1 に初期化することさえ正しくない可能性があると思います。
では、有効な範囲とは何ですか?有効なテクスチャ/バッファ名 (インデックス) を表していないと確信できる無効な範囲/値は何ですか?