3

Windows 8 で VS 2012 を介して単純な OpenGL アプリケーションを実行すると、何もレンダリングされないという問題が発生しています。

いくつかのプロジェクトのプロトタイプを作成するために使用していた小さなデバッグ レンダラーがあり、VS 2012 Express Edition を使用して Windows 7 で実行しました。

Windows 8 にアップグレードし、自分の作業で git リポジトリのクローンを作成しました。最新のドライバーをインストールして VS 2012 をインストールした後、アプリケーションを実行しましたが、何も表示されず、画面がクリアな色になっただけです。以前は例外が発生していましたが、これは適切なドライバーがなかったためです。そのため、glGetIntegerv(GL_MAJOR_VERSION,...) を呼び出すと、OpenGL が正しく設定されていなかったため、-1 が返されました。現在は正しく初期化されており、ステップスルーすると、すべてが正常に機能しているように見えます。唯一の問題は、何も表示されないことです。

それが私のコードだけではないことを確認するために、Swiftless OpenGL の例をいくつかダウンロードしましたが、まったく同じ結果が得られました。私のアプリケーションは OpenGL 3.2 を使用しており、非推奨の機能はありません。私のハードウェアは 3.3 までサポートできます。それが役に立つ場合は、Macbook air で Boot Camp を介して Window 8 を実行しています。

私はこれを解決しようとしてここ数日間壁に頭をぶつけていましたが、あまり運がありませんでした.誰かが情報を提供できる場合は、本当に感謝しています。Windows 8 を使用しているユーザーが、VS を介して単純な OpenGL アプリケーションをダウンロードしてビルドし、画面に何かを表示できるかどうかを確認できれば、興味深いものになるでしょう!

4

3 に答える 3

2

glBegin()古き良き非推奨の固定関数パイプライン、つまり、 、glVertex*()などの即時モードの描画呼び出しを使用していますglEnd()か? もしそうなら、頂点配列を使って自分のものを描いてみてください。これが特定の状況で役に立たない場合でも、コードの前方互換性を確保するために、即時モードの描画呼び出しは絶対に避ける必要があります。OpenGL 3.x コア プロファイルには、これらの古い API 関数は含まれていません。新しい Win 7 ノートブック (OpenGL 3.3) でも、古い即時モード ドロー コール (FTGL) が原因で空白の画面が表示されました。

編集:

独立した GL デバッグの場合は、次のことをお勧めします。

http://www.gremedy.com/

このプログラムを使用すると、実行を一時停止して、バッファーの内容、シェーダー プログラムなどを調査できます。

于 2013-01-04T00:14:21.253 に答える
1

最新のドライバーをインストールしたら

ドライバーはどこから入手しましたか?GPU ベンダーの Web サイトから直接ダウンロードしたドライバーのみが、適切な OpenGL サポートと共に出荷されます。Windows によって自動的にインストールされるドライバーは、OpenGL のサポートが不十分です。

于 2013-01-04T00:06:54.003 に答える
-1

openglのサポートはWindows8では利用できません。Windowsでそれを使用するためのテクニックはまだあります。私がMinecraftゲームで試したgooglecozで検索する方が良いです。または、ここでも確認できます。

于 2013-03-16T10:12:13.900 に答える