Houdini 19.0 Solaris

Karmaフィルタ

On this page

Karmaレンダリングパイプラインには、3タイプの別々のフィルタが存在します。

各フィルタは、レンダリングパイプラインの異なるステージでAOVデータに対して動作します。 サンプルフィルタは、光線評価から直接Rawサンプルデータにアクセスします。 上記のフィルタは、他のサンプルとは無関係に実行されます。

ピクセルフィルタは、複数のサンプルを単一ピクセル値に結合します。

イメージフィルタは、すべてのピクセルが解決された後に、画像全体を処理します。

コマンドラインツールで以下のコマンドをタイプすることで、すべてのフィルタのリストを取得することができます:

karma --filters

現在のところ、これは、フィルタを制御するオプションを何もリストしません。

サンプルフィルタとイメージフィルタは、“グローバル”で、すべてのAOVsに対して同時に実行します。 例えば、サンプルフィルタは、異なるカラーコンポーネントの複数のAOVsを受け取って、それらを異なるAOVに合算することができます。 イメージフィルタは、何枚かのAOVsを受け取って、それらを使って他のAOVsに対してノイズ除去を実行することができます。 レンダー毎にサンプルフィルタとイメージフィルタを複数指定することができます。

一方で、ピクセルフィルタは、AOV毎に定義します。 そのため、color AOVにはサンプルを平均化するピクセルフィルタを適用し、サーフェス法線のAOVには単一サンプルを取得するピクセルフィルタを適用することができます。 AOV毎にピクセルフィルタを1つだけ定義します。

サンプルフィルタとイメージフィルタは、JSON文字列を使って指定します。 各フィルタは、2個のエレメントのJSONリストで指定します。 1番目のエレメントには、フィルタの名前を、2番目のエレメントには、そのフィルタの挙動を制御するための引数の辞書を指定します。

イメージフィルタ

ocio [arguments]

  • string planes <aov_pattern> OCIOで処理させるAOVsのリスト(必須)

  • string output <output_space> 出力カラースペース(必須)

  • string input <input_space> ソースカラースペース(デフォルトは“scene_linear”)

  • string looks <looks> カンマ区切りのカラーグレーディングのリスト

例: [ "ocio", {"planes":"C,diff*,spec*", "output":"sRGB"} ]

denoise [arguments]

  • string engine 適用するデノイザ(例えば、“oidn”や“optix”)

  • string aovs デノイズされるAOVのリスト(デフォルトは“Cf”)

  • bool albedo “albedo”プレーンのデノイザに渡します

  • bool use_N_input “N”, “Ng”, “normal”のプレーンをデノイザに渡します

  • bool use_gl_output OpenGLに直接出力します

例: [ "denoise", {"engine":"optix", "use_n_input":true, "use_albedo_input":true ]

サンプルフィルタ

colorlimit [arguments]

  • string planes <aov_pattern> カラー制限するAOVsのリスト

  • float colorlimit <value> 許可する最大チャンネル値

例: [ "colorlimit", {"planes":"C*,color*,diff*", "colorlimit":10.0} ]

copyalpha [arguments]

  • string planes <aov_pattern> 入力のプレーンのリスト

これは、レンダラーによって自動的に追加され、LPEで定義されたAOVsの4番目のコンポーネントにAfレンダーグローバルをコピーします。

ocio [arguments]

  • string planes <aov_pattern> OCIOで処理させるAOVsのリスト(必須)

  • string output <output_space> 出力カラースペース(必須)

  • string input <input_space> ソースカラースペース(デフォルトは“data”)

  • string looks <looks> カンマ区切りのカラーグレーディングのリスト

以下のサンプルフィルタは、主に(ピクセルフィルタによってサンプルを結合した後に)イメージフィルタでカラー補正をもっと効率的に行なうための例です。

例: [ "ocio", {"planes":"C,diff*,spec*", "output":"sRGB"} ]

Tip

複数のイメージフィルタ(サンプルフィルタ)をチェーン化することができます:

[
    [ "denoise", {"engine":"oidn", "aovs":["Cf","diffuse","specular"]} ],
    [ "ocio", { "planes":"C,diff*", "output", "sRGB" }]
]

ピクセルフィルタ

Radial Pixel Filter

名前: bartlett, blackman, box, catrom, gauss, hanning, mitchell, sinc

これらのピクセルフィルタは、指定したフィルタ形状を使ってサンプルを結合する放射状フィルタです。

オプション

  • float width <filter_width> フィルタの幅

例: [ "gauss", {"width":2.5} ]

Unit Box Filter (ubox)

均一ボックスフィルタ。 これは、単にピクセルに入ったすべてのサンプルを平均化します。 これは、(フィルタ幅に基づいて)隣接ピクセルからサンプルをブレンドするボックスフィルタとは異なります。

Min Max Filters (min, max)

サンプル値の内、最小値または最大値のみを受け取ります。

omin, omax

現在のところ、これらはmin, maxフィルタと同義です。

ocover, edge, idcover

現在のところ、これらは実装されていません。

Pixel Oracles

Pixel Oraclesは、Karmaのフィルタに関係しています。 Pixel Oraclesは、追加でサンプルを送信する必要のある領域をレンダラーに伝える際に使用します。 フィルタとは違って、Pixel Oraclesは、引数に渡された単純な文字列を受け取ります。

現在のところ、2つのPixel Oraclesがあります:

uniform

  • 各ピクセルに対して光線を均一に分布させます。各ピクセルは、常に同じ数の光線サンプルを取得します。

variance

レンダリング画像内のバリアンス(差異)に基づいて光線を分布させます。 オプション:

  • minrays: 最小サンプル数。

  • variance: ピクセルの差異を指定します。

  • plane: 測定する画像プレーン。

  • ociomode: 差異を測定する時にOCIO変換を適用します。0に設定すると無効になり(ガンマ2.0)、1に設定するとOCIO Displayと OCIO Viewに基づいてカラー空間が選択され、2に設定すると直接OCIOカラー空間を指定することができます。

  • ociodisplay: OCIO Displayを指定します(ociomodeが1でない場合は無視されます)。

  • ocioview: OCIO Viewを指定します(ociomodeが1でない場合は無視されます)。

  • ociocolorspace: OCIOカラー空間を指定します(ociomodeが2でない場合は無視されます)。

例: [ "variance", {"minrays":2, "plane":"C", "variance":0.01} ]

Solaris

USD

ジオメトリ

  • SOPをUSDに取り込む方法

    HoudiniがSOPジオメトリをUSDに変換する方法、その工程を制御する方法の詳細。

  • Component Builder

    Component Builderツールは、マテリアル、バリアント、ペイロード、レイヤーをサポートし、SOPからUSDモデルを作成するためのネットワークスニペットを配置します。

レイアウト

  • Editノード

    ビューア内でインタラクティブにPrimsをトランスフォームさせます。物理衝突を使用して、プロップを現実的に配置することができます。

  • Layoutノード

    インスタンス化されたUSDアセットをシーンに取り込むツールが備わっています。個々にコンポーネントを配置したり、カスタマイズ可能なブラシを使って色々な方法でコンポーネントをペイント/スキャッターしたり、既存のインスタンスを編集することができます。

  • カスタムレイアウトブラシ

    Layout LOPの挙動をカスタマイズして利用可能なレイアウトブラシデジタルアセットの作成方法。

シェーディング

  • シェーダフレームワーク

    シェーダノードのUSDプリミティブへの変換を含む、Solarisシェーディングフレームについて説明しています。

  • KarmaでのMaterialXの使い方

    HoudiniにはMaterialXシェーダノードに呼応させたVOPノードが用意されています。これらのノードを使用してシェーダネットワークを構築したり、既存のMaterialXシェーダをインポートすることで、(HoudiniのUSDレンダラーの)KarmaでMaterialXシェーダノードを利用することができます。

  • /solaris/materialx_nodes

Karmaレンダリング

チュートリアル