XML コーディング

Demo of Avalon 3D (via prog-blog by 名無しさん♯)
http://channel9.msdn.com/ShowPost.aspx?PostID=34528
ここで紹介されていたムービーに,XML (XAML) を利用して 3D UI を記述しているシーンがあります (6:00 あたり).マークアップ言語で 3D プログラミングを行うことに違和感がないわけでもないですが,まあ私も 2D UI としての HTML はちょくちょく手編集してりしていますし,直感だけでバイアスを持たないよう注意深く考えてみたいところです*1
そういえばちょうど最近 LaMoo さんが MediaPlayer の UI を XML で制御することについて書かれていました(id:LaMoo:20050105#p1).MediaPlayer といえばスキンカスタマイズが出来ることは開発時のほぼ必須要件だったでしょうから,いくつかの境界条件と Microsoft で働いていたプログラマの趣味等を混ぜ込んだ結果,XML による UI 表記という結論に至ったのは部外者の勘ぐりとしては頷ける気もします.
XAML にしても Avalon にしても,様々なテクノロジを横断的に扱ってきたであろう開発メンバーが下した結論ですから,彼らに 3D プログラミングがどう映り,どう扱うようにアレンジしたかについて興味があるところです.一方,今まで最低次の API セットのマネジメントという別の意味での難題をクリアしてきた DirectX チームが,近年「プレビューパイプライン」といった横断 (縦断?) 的な方向にフォーカスしつつあるのは多少皮肉的にも感じます.
まあしかし,このムービーは見る人に 3D プログラミングは楽しそうだなーと思わせちゃったりするんでしょうなぁ.カメラが後ろを向いていて「画面に表示されない」ときや,メッシュが小さすぎて「画面に表示されない」ときに,「助けて下さい」じゃなくて「おもしれー」と言える人にはきっと楽しい世界になるでしょう.きっと.

*1:id:NyaRuRu:20040708#p1 で書いたこととも関係するが,XML もまた補完 UI とは相性が良いだろう.ただ,このムービーではスキーマがきちんと定義されていないのか補完が有効利用されていない.