最近、GL_TEXTURE_RECTANGLEを使用して小さなテストアプリを作成することに成功しました。現在、それをより大きなプロジェクトに統合しようとしていますが、render関数内でglBindTexture(GL_TEXTURE_RECTANGLE、_tex_id [0])を呼び出すと、GL_INVALID_OPERATIONエラーが発生します。テクスチャ画像がほんの一瞬表示された後、黒くなり、黒のままになることがあります。
頂点シェーダーとフラグメントシェーダーの2つのセット(1つは3Dシーン用、もう1つは2Dオーバーレイ用)を使用してこれを実行しようとしていますが、これまで試したことがないため、それが原因であるかどうかはわかりません。エラー、または私がこれを別の方法で行う必要がある場合。シェーダーはすべてコンパイルされ、正常にリンクされています。
どんな洞察も大歓迎です、そしてそれがいくつかのコードを見るのを助けるならば、私に知らせてください、そして私はそれのいくつかを投稿します(私は誰もが合理的に見るには多すぎるかもしれないと思いますが)。
編集: gDEBuggerはglBindTexture()の呼び出しで中断し、ブレークポイントをクリックすると、プロパティウィンドウに他のテクスチャの1つ(3Dシーンのシェーダーによってロードされているもの)の画像が表示され、ロードしようとしていることが示されますテクスチャ番号1ですが、この番号は、プロパティウィンドウに表示されているのと同じ3Dシーンのテクスチャを描画するためにすでに使用されていることを知っています...なぜglGenTextures()が重複するテクスチャID番号を与えるのでしょうか?これは正常ですか、それとも問題の一部ですか?