2008.09.09

新製品レビュー:FX Composer 2.5

DirectX 9、10のHLSLやCgに対応したGPU向けシェーダエフェクトの統合開発環境。COLLADAとの連携などもサポートされた高機能な開発環境の最新版を紹介する。

FX Composer 2.5
FX Composer 2.5
問い合わせ先NVIDIA
URLhttp://www.fxcomposer.com/
価格無償

DirectX 10やOpenGLに対応したシェーダ開発ツール

FX Composerは、NVIDIAが無料で提供しているGPU向けのシェーダプログラム統合開発環境
。Microsoftの統合開発環境であるVisual Studioに近いインターフェイスで、DirectXのHLSLやNVIDIAのCgなどのシェーダ言語を用いたシェーダエフェクトの開発を行うことができる。

FX Composerは当初、DirectX 向けのHLSLの開発のみをサポートしていたが、2.0からCgに対応しOpenGL向けの開発も可能となっている。加えて2.0からCOLLADAに対応したことにより、PS3向けの開発も行えるようになった(ただし、この機能はPS3開発者向けにプラグインの形で提供されているため、一般には公開されていない)。今回紹介するバージョン2.5では、先述のCOLLADAとCgサポートに加え、DirectX 10向けのHLSLも新たにサポートされている。

シェーダコードの編集を行うエディタ部分は、変数の色分けや組み込み関数・変数の型の呼び出しを補助するコード補完などの一通りの機能を備える。また、シェーダコードのパフォーマンス分析ツールなども付属。プラグインを追加すれば、デバッギングツールを導入することもできる。さらにカスタマイズ機能として、C♯を用いたプラグイン作成も可能だ。またモデルデータは、COLLADAと3DS、FBX、OBJとDirectXのX形式のインポートに対応。このうちCOLLADA に関しては、カメラやライトなどのシーン情報も持ち込むことができる。

  • FX Composer 2.5の概観
FX Composer 2.5の概観1 FX Composer 2.5の概観2
※クリックすると図が拡大します。

標準は3ペインのレイアウトで、左側にマテリアルやテクスチャ、アセットなどのパネルがあり、中央にシェーダコード編集用のエディタ部分、右側にプロパティパネルやレンダーパネルがある。ユーザーの用途に合わせてレイアウトを変更する機能もあり、デバッグ向け、パワーユーザー向け、最適化向けなど、用途に合わせたレイアウトが選択できる。左はシェーダコードの作成者向けレイアウト、右はアーティスト向けのレイアウト。
  • ツールバー
ツールバー
※クリックすると図が拡大します。

FX Composerの各種操作はツールバーから行う。左から、ファイルの作成やオープン、保存などを行うアイコンが並び、[Effect]から[Analyze]までは、シェーダエフェクトの新規作成やコードのビルド、分析などの機能を持つ。[Sphere]から[Plane]はあらかじめ用意されたティーポットなどのモデルをシーンに追加する際に使用する。また[ P o i n t ]から[Directional]はライトの設置で、[Binding]はライトの関連付けである。アニメーションの制御には[Play]と[Stop]を用い、[Direct3D9]ではプレビューにおけるレンダリング方法の切り替えを行う。
  • プレビュー

プレビュープレビューはレンダーパネルで行う。レンダーパネルでは視点やモデルの移動・回転などができる。DirectX 9.0、10.0、OpenGLの3種類のレンダリング方法を利用でき、切り替えはツールバーで行う。図ではDirectX 9.0が選択されている。アニメーションの再生と停止の操作もツールバーから行える。

※クリックすると図が拡大します。

  • サポートするエフェクトの種類

サポートするエフェクトの種類FX Composerでは、DirectXやOpenGL向けのシェーダエフェクトの開発ができる。左上の図の[Effect Wizard]で、まずターゲットとなるエフェクトの実行環境を選択する。PhongやLambertと言った標準のシェーダを利用したい場合には、[COLLADA FX Common]を選択する。[COLLADA FX Common]には右上の図のようなシェーディングモデルが用意されている。また、[HLSL FX]はDirectX向けのエフェクトである。[COLLADA FX Cg ]は、Cgを使ったエフェクトを作成するときに選択するが、エフェクトの管理はCOLLADA FXの仕様に沿う。[COLLADA FX Cg]と[CgFX]はOpenGLを用いる。さらに、各ターゲットにはあらかじめテンプレートとなるエフェクトが用意されている(下図)。

※クリックすると図が拡大します。

  • アセットパネルとプロパティパネル
アセットパネルとプロパティパネル1 アセットパネルとプロパティパネル2
※クリックすると図が拡大します。

バージョン2.0からファイル形式がCOLLADAに変わった。これによりシーンのカメラやライト、アニメーションやマテリアルの管理なども、COLLADAの仕様に沿ったものに変更された。左図のアセットパネルでは、そうしたデータ構造をツリー構造で見ることができ、さらにアセットパネルの各項目は右図のようにプロパティパネルで詳細を確認できる。
  • マテリアル、テクスチャモデル

マテリアル、テクスチャモデル左図のマテリアルパネルでは、上側にシェーダエフェクトがそれぞれサムネイルで表示されている。下側には、マテリアルに関連付けられているテクスチャの一覧がサムネイルで表示され、ミップマップの表示や色のチャンネル単位での表示が可能である。また右上図のテクスチャビューアでは、プロジェクト全体で利用しているテクスチャが表示される。そして右下図のモデルビューアでは、プロジェクトに利用しているモデルデータの閲覧が可能。

バージョン1 . 8時代のFX Composerは、DirectXのHLSL開発者のみに向けたシェーダエディタ/プレビューツールであったが、COLLADAの採用によって、プログラマからCGアーティストまで幅広く利用できるようになりつつある。ただし、CGアーティストがFX Composerを導入する際には、いくつかの障壁がある。

  • HLSLやCgなどのGPU向けのシェーダプログラミング言語の習得が必要になること。
  • 続いて、UIの特殊な操作を習得することである。FX Composerには、シェーダエフェクト内のパラメータをGUIで編集し操作できる[プロパティパネル]という仕組みがある。このプロパティパネルの定義や制御には、Standard Annotations and Semantics(SAS)と言われるコードをシェーダプログラム内に記述しなくてはならない。

以上の点がアーティストの導入を難しくしていると言えるが、アーティストにもシェーダの知識が求められつつある昨今、本ソフトで勉強してみるのも良いだろう。

この製品レビューは、月刊CGWORLD10月号に掲載されています

第1特集は「After Effectsプラグイン ザ・ベスト」、第2特集は「CGビジュアライゼーションの今」。その他、特別企画として、映画『パコと魔法の絵本』をフィーチャーしています。ぜひ、この機会に月刊CGWORLD10月号(Vol.122・2008年8月29日発売)をワークスオンラインブックストアでご用命ください。

(提供:月刊CGWORLD、高橋誠史)

関連リンク

NVIDIA FX Composer 2.5 GPU Shader Authoring Environment

このエントリーをブックマークする

このエントリーにトラックバックする

このエントリーのトラックバックURL
http://withd.jp/mt/mt-tb.cgi/2743


株式会社ロボット|クリエイターインタビュー |イマジカデジタルスケープ共同募集