レンダー項目(MRenderItem)

レンダー項目に示される正式なインタフェースは、MRenderItem クラスです。

図 15

MRenderItem にはさまざまなプロパティがあります。レンダー項目が更新フェーズまたはレンダリング フェーズに関連しているかどうかに応じて、これらのプロパティのインタフェースは、書き込み可能である場合とない場合があります。

主なプロパティは次のとおりです。

図 16

これらのプロパティにより、このクラスは次の Maya オプションのいずれかまたはすべてを表すことができます。

単一のレンダー項目ではすべての可能性を表せないので、レンダー項目のコレクション(MRenderItemList)がレンダリング可能オブジェクトごとに保持されます。ただし、レンダリングする必要があるものによっては、これらの項目のゼロまたは複数が描画に対して「有効」になる(パイプラインを渡される)可能性があります。

図 17

例として、レンダリング可能オブジェクトは、4 つの項目(シェーディング サブ領域用に 2、ワイヤフレーム用に 1、頂点表示用に 1)を持つことがあります。更新時に削減が行われて、ワイヤフレームおよび頂点の表示項目だけが残ります。さらに削減が行われて、「ワイヤフレーム」レンダー項目が除去され、頂点表示項目だけが残ることがあります。削減は通常、ビューポート表示モードなどの内部要件を反映します。

MRenderItem オブジェクトは一時的とみなされるので、このクラスのインスタンスへの参照をプラグインでは保持できません。MRenderItem のインスタンスを直接作成したり、削除することはできません。プラグインでは、MRenderItem のスタティックな Create() および Destroy() メソッドを使用する必要があります。これにより、メモリを異なる DLL から割り当てる/割り当て解除するときに安定します。