footPrintNode プラグインは MPxLocator を使用する場合のサンプルです。 これは MPxDrawOverride を使用する例とともに簡単なビューポート 2.0 実装を提供するように更新されました。 すべての描画モードがサポートされるとは限りませんが、MPxDrawOverride がどのように使用されるのかを知ることができます。
apiMeshShape プラグインは MPxSurfaceShape を使用してカスタムの Maya シェイプを実装する場合のサンプルです。 更新により、これには、MPxGeometryOverride を使用して頂点データ、インデックス データおよびカスタムのレンダリング アイテムをビューポート 2.0 に提供し、任意のシェーダ アサインメントによるカスタムの Maya シェイプを描画する方法が含まれています。
hwPhongShader は MPxHwShaderNode を使用してカスタムのハードウェア シェーダを実装する場合のサンプルです。 更新により、これには、MPxShaderOverride を使用してビューポート 2.0 のための完全なカスタム シェーディング効果を実装する方法が含まれています。プライマリ モードでは、単純な drawGeometry インタフェースを使用して、ビューポート 2.0 でシェーダを設定した後にジオメトリ図面を処理できるようにします。 また、カスタムのバインドと描画を実行するために MGeometry インタフェースを介して実際のジオメトリ リソース ハンドルを問い合わせる代替の方法を示す実装も含まれています。
Maya の CgFX プラグインは、MPxShaderOverride インタフェースを介してビューポート 2.0 をサポートするように更新されています。 上の hwPhongShader とは異なり、これは、新しい API を使用して高速で興味をひくカスタム シェーディングを生成するための複雑な処理をともなうサンプルです。 プラグインは、カスタムの CgFX ファイルシェーダをレンダリングする際に、状態を設定して保持するために大量の MDrawContext を使用します。
viewRenderOverride プラグインは、ビューポート図面をオーバーライドして標準の描画上にさまざまな効果を生成する場合のサンプルです。 これは、次のような新しい API クラスを数多く使用します。MRenderer、MRenderOverride、MRenderOperation (およびいくつかの導出クラス)、MCameraOverride、および MRenderTarget。