グラフィック カード OpenGL で完全に動作するコードがあります。
ただし、GDI 汎用 OpenGL ドライバーを使用して OpenGL エミュレーションに切り替えると、非常に奇妙なエラーが発生します。
GL エラー - 関数 glBindTexture(GL_TEXTURE_2D,1) がエラー GL_INVALID_ENUM を生成しました
glBindTexture() のドキュメントには、GL_INVALID_ENUM は、ターゲットの列挙型が間違っている場合にのみ返すことができると書かれています。ただし、GL_TEXTURE_2D は正しい列挙型です。グラフィック カードの OpenGL ドライバーで動作します。
私は確信しています: 1) glBindTexture がそのエラーを生成しています - エラーログ付きの GLIntercept トラッカーを使用しています 2) テクスチャが割り当てられ、サイズは 512 x 4 です 3) テクスチャにはデータが割り当てられています: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, m_textureImage .width(), m_textureImage.height(), 0, GL_BGRA, GL_UNSIGNED_BYTE, m_textureImage.bits()); 4) テクスチャにデータを割り当ててから実際にテクスチャを使用するまでの間の OpenGL コンテキストは変更されません。
このようなエラーを返す可能性がある他の文書化されていない理由はありますか? 問題を見つける方法はありますか?