情報をコンソールに出力する場所でOpenGLを実行できるデバッグモードがありますか?私は、多くのマシンでうまく動作するアプリを持っていますが、本当に重要なマシンでは悲惨に失敗します。私はそのマシンに直接アクセスすることができないので、どのように失敗しているのか把握しようとしています。現在のところ、コンソールには出力がありません。アプリケーションはもともとはコンソールのないWindowsアプリケーションであったので、プロジェクトのプロパティでコンソールに切り替えました。また、重要であれば、表示されないオブジェクトもあれば、アニメートされないオブジェクトもあります。これは意味をなさないものです。コンソールへのOpenGLデバッグまたは冗長情報
5
A
答えて
7
本当にそうではありません。 OpenGLのフックを書いて、それが何か冗長な出力を実際に望むなら、gDEBuggerのようなツールであるすべての呼び出しを記録しなければならないでしょうが、かなりの作業が必要です(それにはGLInterceptのようなものを使うことができます)。 )個人的な経験から:最も簡単なのはおそらく問題のマシンにアクセスしてgDEBuggerを実行するか、それと同等のマシンを手に入れて、グラフィックスデバッガを接続してエラーを再現できるようにすることです。
また、ARB_debug_output
という拡張子を使用することもできます。これは、理論的には、より多くの出力を提供する必要があります。実際には、それぞれのOpenGL APIコールの後にglGetError
コールがあります。これは、ユースケースに十分な場合があります(つまり、GL状態を破る何かを行うだけです)。デバッグ出力拡張機能を使用するには、デバッグコンテキストを作成するアプリケーション。
関連する問題
- 1. コンソールでデバッグ情報を出力する
- 2. 冗長OpenGLコールの作成
- 3. オブジェクトファイルは、DWARFデバッグ情報
- 4. Kconfigのデバッグモードまたは冗長モード?
- 5. 部分的に適用される関数定義の冗長パラメータ型情報
- 6. Tomcat/Javaのデバッグ情報
- 7. ハイブでUDFのデバッグ情報
- 8. 冗長ジェネリックパラメータは
- 9. Object.ToString()への冗長呼び出し
- 10. は、春には例えばデバッグ情報
- 11. phpunit monologコンソールの出力が冗長すぎる
- 12. CMakeはデバッグ情報を取り除きました
- 13. OpenGLの冗長なコールを削除する
- 14. デバッグ情報とは何ですか?
- 15. OpenGLヘッダーファイルのバージョン情報の不一致
- 16. 冗長コードチェック
- 17. AppFabric冗長性
- 18. 冗長MySQLインデックス?
- 19. ASP.NETブラウザのデバッグ(サポート情報)ページ
- 20. ロード可能なカーネルモジュールのデバッグ情報
- 21. HTTPヘッダー情報へのアクセス
- 22. Monodroidでデバッグ情報を改善しましたか?
- 23. gcc/gdb:ソースファイルへの絶対パスをデバッグ情報に埋め込む方法は?
- 24. ボタンへのキャストは冗長です - なぜですか?
- 25. 冗長コードはどうしますか?
- 26. デバッグlogcatスタックトレース - ルーチン情報なし
- 27. EUNIT出力テストモジュールからデバッグ情報
- 28. 冗長性をロード
- 29. php foreachループ冗長
- 30. 削除冗長データ
ARB_debug_outputのユーティリティは、OpenGLの実装によって異なります。 NVIDIAは基本的に 'glGetError'バージョンを提供していますが、AMDのバージョンはかなり役立ちます。それは単にあなたに "GL_INVALID_OPERATION"を逆戻りさせるだけではありません。それはそれを引き起こした関数のような有用な情報を一般に教えてくれます。私はそれがコアコンテキストで廃止された関数呼び出しを具体的に認識しているのを見ました。シェーダのコンパイルとリンクのエラーは、失敗すると適切なログをダンプします。その他 –
'ARG_debug_ouput'はバージョン4.3以降のコア仕様の一部です。 –