私はしばらく疑問に思っていました.OpenGLオブジェクトの「名前」、glGenTexturesなどによって生成された整数は決してゼロにならないようです。そのため、ゼロを使用して初期化されていないハンドルを示し、エラーをチェックします。これまでのところ、問題ありません。
また、オブジェクトを使い終わった後に glBind*(0) を呼び出して、残っているバインドされたオブジェクトが後で誤って操作されないようにすることをお勧めします。賢明に聞こえます。
OpenGL オブジェクト ID がゼロになり、テストが無効になる状況はありますか? または、この方法でゼロを使用すると、非オブジェクトを参照しないために驚くべき効果が生じる場合がありますか?
PS zero-as-a-non-object の記号名はありますか?
PPS バインド/バインド解除パターンを多用すると、パフォーマンスが低下することはありますか? (カプセル化のために、ほとんどが冗長な再バインディングを持つコードの一部があります。)