| On this page |
Tip
これは、サードパーティ製のHoudini用レンダラープラグインの開発者向けの情報です。 現在のところ、Karma用に表示される統計情報をカスタマイズすることはできません。
概要 ¶
Houdini21.0以降では、サードパーティ製レンダーデリゲートは、Statsパネル(Render GalleryやMPlay内の統計情報サイドバー)内にレンダリング統計情報を表示することができます。
Note
サードパーティ製レンダーデリゲートは、GetRenderStats()デリゲートメソッドを実装しなければなりません。
このパネルは、そのメソッドの出力に含まれている統計情報だけを表示することができます。
サードパーティ製レンダラーから統計情報を表示するには、2通りの方法があります。
-
デリゲートは、(ビューポートのレンダリング統計情報のような)ある程度よく使用されている名前の統計情報を返すことができ、Houdiniはそれらの情報を汎用テンプレートに差し込みます。
または
-
どの統計情報をどのように表示するのかを完全にコントロールするために、デリゲートは独自のQMLファイルを使用することができます。
汎用テンプレートが非常に簡単な方法です。この主な欠点は、すべてのデリゲートに共通する統計情報の“スキーマ”しか表示できないことです。
QMLテンプレートを記述することで、何をどのように表示するかを完全に制御することができますが、QMLの知識が必要になります。
Warning
この機能はまだ実験段階です。 レンダーデリゲートの統計情報が表示されない問題に遭遇した場合は、バグを報告してください。
汎用テンプレート ¶
UsdRenderers.jsonファイルにカスタムQMLファイル(下記参照)が指定されていない場合、Houdiniは汎用テンプレートを使用して、特定の名前の統計情報を差し込みます。
Houdiniのビューポート統計情報と同様に、UsdRenderers.json内にstatsdatapathsキーを使用することで、既存の統計情報を“正規”の名前にマッピングすることができます。
現在のところ、汎用テンプレートは、以下の統計情報のみを表示しますが、簡単に追加することができます:
-
fractionDoneまたはpercentDone(float) -
totalClockTime(float。秒数) (これとpercentDone/fractionDoneの両方を公開した場合、汎用テンプレートは残り推定時間も表示します) -
rendererName(string) -
rendererStage(string) -
totalMemory(int) -
peakMemory(int)
カスタムQML ¶
UsdRenderers.jsonfile内のデリゲートのセクションに、QMLファイルを指したqmlTemplateキーを追加します。例:
{ "my_delegate": { "qmlTemplate": "/Users/matt/my_delegate.qml" } }
文字列には、ファイルパス、file:、http:URLを指定することができます。
QMLでは、stats変数を介してGetRenderStats()のデータにアクセスすることができます。
現在のHoudiniビューポートと同様に、UsdRenderers.json内にstatsdatapathsキーを使用して指定されたデータが含まれます。
例えば、percentDone値のみをテキストとして表示する非常に単純なQMLファイルを以下に載せます:
import QtQuick
import houdini.ui
Column {
width: parent.width
Text {
width: parent.width
text: `${stats.percentDone} % complete`
font.pixelSize: 48
}
}