私はDetourCreateProcesswithDLL
Visual Studio 2010 で使用しており、 glut デモ プログラムから abgr.exe デモ アプリケーションのプロセスを作成しながら、 Opengl32.dll 、 glu32.dll 、 glut32.dll の代替 dll を提供しています。
そうすれば、Opengl32、glu32、glut32 ライブラリを傍受できます。API は、システム フォルダまたは通常の dll からそれぞれの API を呼び出します。
これらの dll には、それぞれのライブラリで定義されたすべての API があります。
問題は、wglMakeCurrent
Win 7 x64 ビットの NVidia GTX480 で abgr.exe のような glut デモ アプリで 0 を返すか失敗することです。他のデモアプリでも動作しません。
abgr.exeまたは呼び出しているGLIntercept実行可能ファイルの互換性を変更すると機能しますDetourCreateProcesswithDLL
。つまり、exe を右クリック -> プロパティの変更 -> 互換性 -> 256 色で実行を確認します。
ただし、これは回避策のように見え、ディスプレイはそれほど見栄えがよくありません。それをしなくてもどうやって使うことができますか。の適切な値を取得する方法wglMakeCurrent
。
wglMakeCurrent
内から呼び出されますglutCreateWindow
。
これは、AMD Fusion GPU の問題ではありません。そこwglMakeCurrent
に良い値を返します。この問題は NVIDIA GTX 480 でのみ発生します。この問題を解決する方法を知っている人はいますか? ドライバーを更新したところ、NVIDIA コントロール パネルの [ヘルプ] -> [バージョン情報] にバージョン 4.3.790.0 が表示されます。
wglCreateContext は 0x00010000 を返します