本日はRenderDocを触ります。
〇RenderDocとは?
RenderDocはMITライセンスで開発、提供されているスタンドアローンなグラフィックスデバッガーです。
通常レンダリング回りの処理はGPU上で動いているためログの出力などが難しく、デバッグやプロファイルが困難です。
RenderDocを使用するとグラフィックスパイプライン上での処理に関して一つ一つイベントを見ることができます。
先日はUintyでのRenderDocの導入を見ました。
前回は実際にRenderDocを使用してデバッグを見ていきます。
今回はよりTexture Viwerに関して深読みしてみます。
〇プロファイリングするスクリーンショット
今回はMRGTのサンプルシーンMaterialGalleryの次の画像をプロファイリングします。

〇Texture Viewer
Texture Viwerはその名の通りレンダリングに使用した画像、レンダリング後の画像などが表示されます。

プロファイルする際はEvent Browserで選択した処理による入出力画像を見ることができるので、一番使用するウィンドウになります。
例えば

赤枠のオブジェクトをレンダリングする際の処理に使用されたテクスチャは次の3種類になります。

Unityのマテリアルを見てみるとAlbedo、NormalMapとそれぞれ使用されている画像が正しいことがわかります。

最後にSkyBoxの画像が使用されています。

これはReflectionsを使用しているためです。

このチェックボックスを外し再度同様のイベントを見てみるとスカイボックスの画像が消えていることが確認できました。

〇Texture Viewのオプション
Texture ViewではOverlayからテクスチャのオプションを選択できます。

〇Highlight Drawcall

HighlightDrawcallはCPUから呼び出される描画の指示になります。
つまり紫になっている領域がそのイベントで指定されているレンダリング領域になります。
〇Wireframe Mesh

これはその名の通り描画されるメッシュをワイヤフレーム表示します。
このほかにはステンシルなど描画にまつわるあらゆる情報を可視化できます。