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
キー |
タイプ |
説明 |
---|---|---|
|
string |
必須 OCIOで処理されるAOVsのリスト。 |
|
string |
必須 出力カラー空間名。 |
|
string |
ソースカラー空間名。デフォルトは |
|
string |
カラーグレーディング名をカンマで区切ったリスト。 |
例: [ "ocio", {"planes":"C,diff*,spec*", "output":"sRGB"} ]
denoise
キー |
タイプ |
説明 |
---|---|---|
|
string |
適用するデノイザ(例えば、“oidn”や“optix”)。 |
|
list of strings |
デノイズされるAOV名のリスト。デフォルトは |
|
boolean |
|
|
boolean |
|
|
boolean |
OpenGLに直接出力するかどうか。 |
例: [ "denoise", {"engine":"optix", "use_n_input":true, "use_albedo_input":true ]
サンプルフィルタ ¶
colorlimit
キー |
タイプ |
説明 |
---|---|---|
|
string |
カラー制限するAOVの名前/パターンをカンマで区切ったリスト。 |
|
float |
許可する最大チャンネル値。 |
例: [ "colorlimit", {"planes":"C*,color*,diff*", "colorlimit":10.0} ]
copyalpha
キー |
タイプ |
説明 |
---|---|---|
|
string |
入力として使用するAOVの名前/パターンをカンマで区切ったリスト。 |
これは、レンダラーによって自動的に追加され、LPEで定義されたAOVsの4番目のコンポーネントにAf
レンダーグローバルをコピーします。
ocio
以下のサンプルフィルタは、(ピクセルフィルタによってサンプルを結合した後に)イメージフィルタでカラー補正をもっと効率的に行なうための 主な例 です。
キー |
タイプ |
説明 |
---|---|---|
|
string |
必須 OCIOで処理するAOVの名前/パターンをカンマで区切ったリスト。 |
|
string |
必須 出力カラー空間名。 |
|
string |
ソースカラー空間名。デフォルトは |
|
string |
カラーグレーディング名をカンマで区切ったリスト。 |
例: [ "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 |
フィルタの幅。 |
例: [ "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
レンダリング画像内のバリアンス(差異)に基づいて光線を分布させます。
キー |
タイプ |
説明 |
---|---|---|
|
integer |
最小サンプル数。 |
|
float |
ピクセル差異。 |
|
string |
測定する画像プレーン。 |
|
integer |
差異を測定する時のOCIO変換の適用方法。
|
|
string |
OCIO Displayを指定します( |
|
string |
OCIO Viewを指定します( |
|
string |
OCIOカラー空間を指定します( |
例: [ "variance", {"minrays":2, "plane":"C", "variance":0.01} ]