2

OpenGL パイプラインについて混乱しています。フラグメント シェーダーで glDrawPixels を使用しようとしている openGL メソッドがあるため、コードは次のようになります。

// I setup the shader before this
glUseProgram(myshader);
glDrawPixels(...);

一部のグラフィックス カードではシェーダーが適用されますが、他のカードでは適用されません。nvidia には問題ありませんが、さまざまな ATI カードに問題があります。これは ATI カードのバグですか? それとも、nvidia の方が柔軟性が高く、パイプラインを誤解していますか? これを回避する代替手段はありますか (テクスチャ マッピング以外)?

ありがとう、ジェフ

4

1 に答える 1

1

glDrawPixels には、フラグメント シェーダーが適用されている必要があります。互換性プロファイルの 203 ページの図 3.1がそれ​​を明確にしています。

ただし、コア プロファイルは DrawPixels を削除することに注意してください。どのGLバージョンを使用していますか?

于 2011-06-10T19:40:38.887 に答える