• D言語でDirect3D 11を使う時のデバッグ出力参照

    2011年07月18日 13時12分
    正確には、Dに限らずVisualStudioのようなIDEが無くてもデバッグ出力を見る方法です。


    まずはアプリケーション側のデバッグ出力有効化です。
    この作業は表示側がIDEでも他のでも共通です。


    デバッグ出力を有効にするには、D3D11CreateDeviceD3D11CreateDeviceAndSwapChainを呼び出すときに
    デバッグフラグを指定してやります。

    具体的には、FlagsにD3D11_CREATE_DEVICE_FLAG.D3D11_CREATE_DEVICE_DEBUGを指定します。


    このフラグを有効にするためには、D3D11SDKLayers.dllが必要になるので、
    DirectXのSDKをインストールする必要があります。


    詳しくは公式を参照下さい。
    ソフトウェアレイヤー



    これでアプリケーション側は出力するようになったので、
    何かしらの方法でキャプチャすれば見ることが出来ます。

    DirectXのデバッグ出力は、
    標準入力等ではなくWin32のOutputDebugStringという仕組みを使っているようです。

    デバッグ用の仕組みなので、当然キャプチャするアプリが準備されています。
    DebugView for Windows


    使い方はDebugViewを起動した状態で、
    OutputDebugStringを使うアプリを起動するだけです。

    コメントを書く

    名前
    本文
    編集用パスワード 入力すると編集が行えます
    管理者のみ閲覧