読者です 読者をやめる 読者になる 読者になる

しゅみぷろ

プログラミングとか

RenderDocによるUnityシェーダーデバッグ

はじめに

RenderDocでUnityのシェーダーをデバッグする方法を紹介します。内容はUnityマニュアルとほぼ同じですが、簡単に導入方法をメモしておきます。

docs.unity3d.com

RenderDocは以下からダウンロードしてきます。

RenderDoc Downloads

使い方

RenderDocをインストール後、Unityを開き、GameビューかSceneビュータブ部分を右クリックすると、以下のように「Load RenderDoc」という項目が現れます。

f:id:es_program:20160426001001p:plain

この項目を選択すると、GameビューとSceneビューのツールバーに新しいボタンが表示されます。

f:id:es_program:20160426001010p:plain

このボタンを押すことで、そのウィンドウをキャプチャすることができます。 キャプチャすると以下のようにキャプチャしたフレームが表示されます。

このキャプチャ結果をダブルクリックすることで、特定フレームの描画情報をロードすることができます。

f:id:es_program:20160426001025p:plain

Event Browserから詳細を見たい描画イベントを選択することで様々な情報を見ることが可能です。

f:id:es_program:20160426001046p:plain

Mesh Outputから頂点の入出力情報を見ることもできます。

f:id:es_program:20160426001058p:plain

特定ピクセルにおけるフラグメントシェーダー実行をログから擬似的に再現させることも可能です。 Texture ViewerのPixelContextから操作できます。

f:id:es_program:20160426001109p:plain

Unityのシェーダープログラムとも照らしあわせて確認できます。

f:id:es_program:20160426001123p:plain