2

によって生成された ID は0glGenTextures(...)glGenFramebuffers(...)なりますか? より具体的に言うと、初期化されていないテクスチャの ID としてゼロを使用できますか、それとも -1 を使用する必要がありますか?

4

2 に答える 2

6

0 を返す関数はありませんglGen*が、デフォルト オブジェクトを参照する場合があります。テクスチャの場合は、glDeleteTexturesのドキュメントで適切な情報を見つけることができます。この場合、0 がデフォルトのテクスチャであり、 によって返されることはありませんglGenTextures

于 2013-05-22T08:27:13.140 に答える
5

-1 を使用する必要がありますか?

オブジェクト名は符号なし整数であるため、-1 は使用できません。

glGenTextures(...)、glGenFramebuffers(...) によって生成された ID は 0 になりますか?

いいえ。

より具体的に言うと、初期化されていないテクスチャの ID としてゼロを使用できますか

テクスチャについては、はい。

ほとんどの OpenGL オブジェクトでは、オブジェクト 0 は NULL ポインターと同等です。これはオブジェクトではありません。ただし、一部のOpenGL オブジェクトでは、オブジェクト 0 に意味があります。

たとえば、フレームバッファ オブジェクト 0 はデフォルトのフレームバッファです。技術的には、テクスチャ オブジェクト 0 は依然としてテクスチャです。ただし、テクスチャ オブジェクト 0 の動作は非常に変わっているため、これを完全に無視し、テクスチャ オブジェクト 0 を明示的に使用しないことをお勧めします。

于 2013-05-22T08:25:04.910 に答える