API ガイド > ビューポート 2.0 API (Viewport 2.0 API) >

# ビューポート 2.0 API の概要

Maya 2012 では、ビューポート 2.0 およびハードウェア レンダラ 2.0 (ビューポート 2.0 の新しいバッチ/レンダー ビュー バージョン)の両方でカスタム描画、シェーディングおよびエフェクトを定義するための API クラスの新しいセットが導入されました。

Maya のビューポート 2.0 は、Maya の最新のレンダリング アーキテクチャを搭載しています。このアーキテクチャは、プログラマブル シェーダ システムの最上部にある大規模シーンでの高パフォーマンスを実現するために新しく設計されたもので、ピクセルごとの高品質のライティングおよびエフェクトを提供します。 ただし、これによって多くの既存 Maya API クラスとの互換性がなくなります。これは、システム メモリのジオメトリ データ、C++ 駆動レンダリング、および状態の切り替えにおける高いオーバヘッドに依存するためです。 その結果、ほとんどの既存のプラグインは、ビューポート 2.0 で正しく動作するために新しい API クラスをサポートするように更新される必要があります。

このセクションでは、新しいクラスについて紹介し、古い API から新しい API へのマイグレーション パスについて詳しく説明します。 ほとんどの場合、必要に応じて、新しい API と古い API を同時に実装するプラグイン ノードを書くことは可能です。これにより、アーティスト、ツールおよびパイプラインがビューポート 2.0 に移行される間に、両方のビューポートで動作する単一のプラグインが維持されます。

新しい API についての説明は、以下のサブセクションに分割されます。

- データ クラス(Data Classes) - シーン内のジオメトリおよびシェーダについて記述し、それらへのアクセスを提供するオブジェクト。
- シーンのオーバーライド(Scene Overrides) - シーン内のカスタム描画、シェーディングおよびエフェクトを定義するために使用されるインタフェース。
- レンダリング オーバーライド(Rendering Overrides) - カスタムのレンダリング、マルチパス エフェクトおよびフィルタリングを定義するために使用されているオブジェクト。
- フレームワーク クラス(Framework Classes) - プラグインにサービスおよびデバイスの状態についての情報を提供するオブジェクト。

この後に、新しい API への移行を迅速に行うために参考となる 2 つのサブセクションがあります。

- 移行ガイド - 旧式のインタフェースから新しいビューポート 2.0 API に移行する際に役に立つヒント
- Devkit サンプル - ビューポート 2.0 API を使用する、更新されたdevkitのサンプルにつての概要。

新しいクラスはすべて、MHWRender と呼ばれる Maya API 内の新しいネームスペースに存在します(この文書内では、クラスに言及する場合は常にこのネームスペースを想定します)。 これによって、ビューポートおよびバッチ ハードウェア レンダリングに関係するクラスのすべてを簡単に見つけることができ、ビューポート 2.0 または Hardware Renderer 2.0 ではサポートされない古いハードウェア API クラスとそれらがどのように違うのかを簡単に識別できるようになります。