によって生成された ID は0glGenTextures(...)
にglGenFramebuffers(...)
なりますか? より具体的に言うと、初期化されていないテクスチャの ID としてゼロを使用できますか、それとも -1 を使用する必要がありますか?
2 に答える
0 を返す関数はありませんglGen*
が、デフォルト オブジェクトを参照する場合があります。テクスチャの場合は、glDeleteTexturesのドキュメントで適切な情報を見つけることができます。この場合、0 がデフォルトのテクスチャであり、 によって返されることはありませんglGenTextures
。
-1 を使用する必要がありますか?
オブジェクト名は符号なし整数であるため、-1 は使用できません。
glGenTextures(...)、glGenFramebuffers(...) によって生成された ID は 0 になりますか?
いいえ。
より具体的に言うと、初期化されていないテクスチャの ID としてゼロを使用できますか
テクスチャについては、はい。
ほとんどの OpenGL オブジェクトでは、オブジェクト 0 は NULL ポインターと同等です。これはオブジェクトではありません。ただし、一部のOpenGL オブジェクトでは、オブジェクト 0 に意味があります。
たとえば、フレームバッファ オブジェクト 0 はデフォルトのフレームバッファです。技術的には、テクスチャ オブジェクト 0 は依然としてテクスチャです。ただし、テクスチャ オブジェクト 0 の動作は非常に変わっているため、これを完全に無視し、テクスチャ オブジェクト 0 を明示的に使用しないことをお勧めします。