夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

RenderDocでUnityレンダリングのデバッグを行う その②TextureViewerの使い方を深読みする。

本日はRenderDocを触ります。

〇RenderDocとは?

RenderDocはMITライセンスで開発、提供されているスタンドアローンなグラフィックスデバッガーです。

通常レンダリング回りの処理はGPU上で動いているためログの出力などが難しく、デバッグやプロファイルが困難です。

 RenderDocを使用するとグラフィックスパイプライン上での処理に関して一つ一つイベントを見ることができます。

renderdoc.org

先日はUintyでのRenderDocの導入を見ました。

redhologerbera.hatenablog.com

前回は実際にRenderDocを使用してデバッグを見ていきます。

redhologerbera.hatenablog.com

今回はより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

これはその名の通り描画されるメッシュをワイヤフレーム表示します。

このほかにはステンシルなど描画にまつわるあらゆる情報を可視化できます。