1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【RenderDoc入門】キャプチャとフレーム確認まで

1
Posted at

3Dゲームなど、シェーダーを使用したアプリを開発する際、描画がうまくいかないがブレークポイントを置いても原因がわからないといった経験はありませんか?
RenderDocを使用することで、テクスチャバッファの中身を直接確認し、GPU内部の処理を可視化することが可能になります。
本記事では神ツールであるRenderDocを使用して、「キャプチャを取る」「フレームを確認する」といった基本的な操作方法を紹介します。

RenderDocとは

RenderDocとは、GPUの描画処理を「1フレーム単位」でキャプチャし、詳細に解析できるオープンソースのグラフィックスデバッガーです。DirectXVulkanOpenGLなど幅広いAPIに対応しており、ゲームや3Dアプリ開発でのデバッグに必須級のツールです。

インストールと起動

上記のサイトに飛び、Downloadボタンをクリックし、自身のデバイスに対応するバージョンのRenderDocをインストールしてください。
ファイルを開くとセットアップウィンドウが表示されるので、設定を行います。
スクリーンショット (103).png
本記事ではTypical(一般的な機能)を選択し、初心者に必要な機能をすべてインストールします。
そのままNextをクリックします。
スクリーンショット (104).png
Installをクリックしてインストールを行います。
スクリーンショット (105).png
インストールが完了したらFinishをクリックしてセットアップを閉じます。
これで起動する準備が完了しました。
スクリーンショット (106).png
そのままRenderDocを起動します。
検索バーから起動するのが最も簡単かと思います。
スクリーンショット (107).png
下画像の画面が表示されていたら正常にインストールが完了しています。
スクリーンショット (108).png

キャプチャの取り方

キャプチャとは、そのフレームのGPU内部のスナップショットのようなものです。
RenderDocデバッグをする際に必須となる作業ですので、まずはこの工程を行います。

アプリケーションの起動

ウィンドウ右側のLaunch Applicationタブ内を設定することで、起動するアプリケーションを選択します。
まずはExecutable Pathに実行ファイルのパスを指定します。
スクリーンショット (109).png
次に、Working Directoryを指定します。
Working Directoryは、アプリケーションが相対パスを参照する場所のことです。
スクリーンショット (110).png
画面下の中央あたりにあるLaunchボタンを押すことで、パスが正しく設定されていればアプリケーションが起動されます。
スクリーンショット (111).png

キャプチャの実行

実行中に、F12キーを押すことで、キャプチャすることが出来ます。
キャプチャを行うと、その瞬間のフレームが保存され、RenderDocのウィンドウにキャプチャファイルが追加されます。
複数フレームをキャプチャして後から選ぶことも可能です。
スクリーンショット (112).png
RenderDocのメインウィンドウに戻ると、取得したキャプチャが一覧に表示されます。
ダブルクリックで解析画面に移動し、フレームの中身を確認できます。
スクリーンショット (113).png

フレームの確認方法

RenderDocでは、複数の解析ウィンドウを駆使してデバッグを行うことになります。
このセクションでは各解析ウィンドウを紹介します。

Event Browser

ウィンドウ左(デフォルトの配置では)にEvent Browserというものがあり、キャプチャしたフレーム内の描画イベントが時系列で一覧表示されます。
ここを確認することで、どの順番で描画が行われたかを確認できます。
スクリーンショット (114).png

Pipeline State

GPUパイプラインの各ステージ(VertexShader, PixelShaderなど)の状態を確認できます。
ここを確認することで、入力・出力のデータやシェーダーの設定を追跡できます。
スクリーンショット (116).png

Texture Viewer

実際に描画されたテクスチャを直接確認できます。
テクスチャへの描画自体はうまくいっているのかどうかを確認する際に使用します。
スクリーンショット (117).png

Mesh Viewer

このウィンドウでは頂点データシェーダー出力を確認できます。
主に座標のずれや頂点が破損してないかを確認する際に使用します。
image.png

キャプチャファイルの保存・利用

キャプチャファイルの保存方法

左上GUIFileからSave Captureをクリックすることで、任意の名前でキャプチャファイル(.rdc)を保存することが出来ます。
保存しておくことで、後で同じキャプチャを確認したり、チームに共有して複数人で同じキャプチャのデバッグを行うことも可能になります。
スクリーンショット (119).png
スクリーンショット (120).png

キャプチャファイルの利用

GUI左上のFile->Open Captureをクリックしてください。
スクリーンショット (121).png
任意のキャプチャファイル(.rdc)を選択することで、保存されたファイルの解析を行うことが出来ます。
スクリーンショット (122).png

総括

  • RenderDocを使用することでGPUを可視化し、高度なデバッグを行うことが出来る
  • キャプチャファイルを保存することで、複数人で共有してデバッグを行うことが出来る
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?