登録

DG ノードまたは DAG オブジェクトのアタッチメント モデルは、登録インタフェース MDrawRegistry によってサポートされています。レンダリング ループ オーバーライドのアタッチメント モデルは、「3.6 レンダリング ループ オーバーライド」のセクションで詳細に説明されています。

描画、シェーダ、シェーディング ノード、ジオメトリ、およびサブシーン オーバーライドでは、ノード分類文字列の使用によって関連付けが黙示的に提供されます。オーバーライド分類と Maya ノード/オブジェクト分類の一致により、この黙示的なリンクが形成されます。一致は、「サブ分類」の使用により、広範なものから特定のものへ階層的に実行されます。

分類文字列のフォーマットは次のとおりです。

drawdb/<object classification>/[<sub-classification>]/<override classification>”

図 35: 各オーバーライド タイプについて、分類は、分類で指定されたオブジェクトまたはノードを一致させます。

図 36: 分類の詳細度に応じて、異なる一致の結果を示す例です。“drawdb/geometry/parametricSurface/B-spline” DAG オブジェクト分類は、より一般的な “drawdb/geometry/parametricSurface” 文字列ではなく、まったく同じ分類文字列を使用してオーバーライドにより厳密に一致させます。最も近い一致の分類が使用されます。

getClassification コマンド マニュアルには、ビューポート 2.0 によって認識される分類の一覧が含まれています。

表示フィルタを登録する

登録インタフェースを介して、新しい表示フィルタ タイプをプラグイン オブジェクトに追加できます。使用した分類文字列が描画オーバーライドの登録に使用した分類文字列に一致する場合は、可視性チェックが実行されるときにオーバーライドがフィルタ アウトされる可能性があります。フィルタの UI 名は、3D ビューポートとバッチ レンダリングの表示フィルタ インタフェースのオプションとして表示されます。

MFnPlugin::registerDisplayFilter() は、新しい表示フィルタ タイプを登録するインタフェースです。gpuCache SDK プラグインには、その使用法を例示するコードが含まれます。