DirectX Graphics Meeting

Kev Gee氏とDavid Blythe氏とのミーティングの内容ですが,差し支えなさそうな程度に書いてみます.

(両氏の認識としては)Managed DirectXはゲーム制作ツールとして主に利用されていてゲームそのものの開発にはあまり利用されていない(これは私も同じ認識です).よってプライオリティも低い(このあたりがエンドユーザ環境への現状のdeployが困難なままという状況が長引いている要因に思えます).

(DirectXの不具合に関するKB(Knowledge Base)の整備が遅れているという私の指摘に対し)不具合一覧の公開などはこれから改善していきたい.また,将来的にはオンラインのコミュニケーションサイトのようなものを検討中である.現状ではバグ報告はメールやNET Newsで行って欲しい.

(オンラインコミュニティでのトラブルシュートに苦労するといった話をしたところ)PIXが出力するログファイルをトラブルシュートに利用できるかもしれない.また,将来的にPIXの改良をする上でも考慮する.

また,エフェクトファイルのポータビリティについても要望を出しておきました.現状ではエフェクトファイル(HLSL)はポータビリティの観点でCOLLADAに大きく差をつけられています.COLLADAについては先日のspinのCOLLADAリンク集に詳しいです.
http://spin.s2c.ne.jp/index_main.html
きちんとした仕様書やXML Schemaが定義され,インポータ・エクスポータ・ビューワのソースコードまで公開されているCOLLADAと比べればその差は明らかでしょう*1
全般を通して感じたのはDirectX開発チームの方は多方面から様々な要望を受けていて本当に忙しそうだということです.例えばDirectXはヘルプに座標系に関する説明が載っていたりID3DXSpriteのようなユーティリティクラスが公開されていたりと,一見DirectX開発の初心者にも配慮されているように見えます.そして私が普段参加しているようなオンラインコミュニティでは,このような初心者への配慮の拡充を望む声もあります.しかし少し考えれば分かるように,DirectX SDKで初心者への配慮が高い優先順位を持ち得るはずがありません.実際,DirectX 9.0 SDK Update (Summer 2004) のリリースノートは,メンテナンスコストの理由でAppWizaedが廃止されたと述べられています.

AppWizard は廃止されました。AppWizaed は複雑で維持に多大な労力を必要としました。その代替として、サンプル ブラウザの機能を拡張して、新しいプロジェクト用の開始点としてサンプルを選択できるようにしました。

このような状況でコミュニティからの声をどう伝えるかについては中々難しいものがあります.ただ,開発者としてもゲームプレイヤーとしてもDirectXがWindowsの魅力になっている面は確かにあるはずで,良い落としどころがないものか考えるのが私の宿題ということで.

*1:COLLADAについてはまだ詳しく仕様書を読んでいませんが,当初から開発時の中間フォーマットを狙っているところはうまいと思います.案外,データ作成フローはCOLLADAで全て済ましてしまい,エフェクトファイル(とHLSL)はDirectXでの実行用として最後に生成というスタイルで全て丸く収まってしまいそうな気すらします.エフェクトファイルとHLSLは属性プログラミングやメタデータの応用として折角面白い可能性を持っているのに,現状ではテキストファイルの文法定義とバイナリ提供されるID3DXEffect::Get*といった最低限のDOMライブラリしか存在しないことでずいぶん損をしているような気がします.