WinViewインフォメーション


DirectXのテクニカルイベント『Meltdown Tokyo 2000』開催される。

Meltdown Tokyoは、Windowsに標準搭載されるマルチメディアエンジンであるDirectXの最新技術情報を提供するとともに、DirectXを活用するハードウェアベンダーとソフトウェアベンダーが一同に会して互換性テストを実施するDirectXのテクニカルイベントです。イベント対象者は、DirectXを使ったソフトウェアやデバイスドライバの開発経験者、もしくはこれから開発を計画されている方々です。


今年は『Meltdown Tokyo 2000』として9月13日、14日に東京有明のTFT(Tokyo Fashion Town)ホールにて開催されました。今回のイベントでは、この秋に提供予定のDirectX8をメインテーマに、最新技術情報を提供する「キーノートスピーチ」や「テクニカルセミナー」が行われました。
また、DirectXやWindows 2000に対応するアプリケーションとハードウェアの互換性テストが実施され、更にハードウェアベンダーの最新製品の展示コーナーやイベント参加者の交流の場として懇親パーティ、米マイクロソフトから来日のDirectX開発関係者が一堂に会しDirectXのテクノロジーと将来について報道関係者とのQ&A、などが行われ、DirectXを活用するための盛りだくさんのプログラムが用意されていました。


13日のテクニカルセミナーは概要が主で、DirectX 8の概要(Mark Kenworthy氏)、DirectX 8 for Visual Basic(川西裕幸氏)、DirectX 8グラフイックスの概要(Charles Boyd氏)、DirectX 8オーディオ、ストリーミングの概要(Brian Schmidt氏)、Directplay 8の概要(Paul Newson氏)、DirectInput 8の概要(Mark Kenworthy氏)について行われました。
このうち、川西裕幸氏による「DirectX 8 for Visual Basic」は唯一の日本人講師によるセミナーであり、日本向けのプログラムであるとのことです。
14日のテクニカルセミナーは詳細について、DirectInput 8(Mark Kenworthy氏)、DirectX 8グラフイックスインフラストラクチャ(Charles Boyd氏)、DirectX 8頂点シェーダ(Charles Boyd氏)、DirectX 8ピクセルシェーダ(Charles Boyd氏)、DirectX 8グラフイックスオーサリング、最新のグラフイックステクノロジー(Brian Schmidt氏)、DirectShow 8の機能(Brian Schmidt氏)、DirectMusic Producer 8(Brian Schmidt氏)、DirectX 8オーディオプログラミング(Brian Schmidt氏)、DirectX 8オーディオスクリプティング(Brian Schmidt氏)、DirectX 8オーディオのヒントとコツ(Brian Schmidt氏)、DirectPlay 8プログラミング(Paul Newson氏)、DirectPlay 8ボイスプログラミング(Paul Newson氏)のプログラムが行われました。

マイクロソフト社のご好意のより事務局も参加でき、初日の「キーノートスピーチ」および「テクニカルセミナー」の一部を受講できました。

総合司会は、マイクロソフト株式会社 製品マーケティング本部 デベロッパーリレーショングループ テクニカルエバンジェリスト大塚友則氏により行われ、本イベントについての大変親切なガイドのあと、Mark Kenworthy氏のキーノートスピーチ「DirectXの概要」が行われました。スピーチ内容をスライドをもとにお伝えいたします。

総合司会の大塚友則氏

Meltdown Tokyo 2000で発表されたスライドは、本イベントのWebページ [テクニカルセミナー プレゼンテーション]に掲載してありますので、ご参照ください。
http://www.meltdown-tokyo.com/

なお、キーノートスピーチ「DirectXの概要」のスライドタイトルは、「Windows Gaming」となっています。

■キーノートスピーチ「DirectXの概要」
Mark Kenworthy氏(マイクロソフトコーポレーション DirectXグループプログラムマネージャ)

Mark Kenworthy氏

● Microsoftの目標
 マイクロソフトのWindowsゲームの目標はこのようになっている。
・ Windows上でのゲームプレイの品質を向上させる。
・ Windowsプラットフォームでの急速な技術革新を継続させる。
・ 開発者が可能な限り最高のゲーム製品をより簡単に開発できるようにする。
・ Windows向けの開発を各ベンダーにとってより良いビジネスにさせる。

まず、最初に私どもはWindows上でのゲームプレイの品質を改善して、エンドユーザーがゲームを楽しめるようにと考えている。今後ともWindowsのプラットフォーム上でハードウェアとソフトウェアを改善していくことによって、ハードウェアの企業もソフトウェアの会社も革新的な製品を開発できるようにしていきたいと考えている。
また、Windowsプラットフォームをソフトウェアのデベロッパーがコンテンツを開発しやすいように改造していく。SDKもその努力の一環である。グラフイックスAPI等もそうである。Direct3Dなども提供する。これを使うことによってより高い性能の製品を開発していただくことが可能になる。同じくオーディオの部分においても、DirectSound、DirectAudioに関しても品質の向上をしていきたいと思っている。オーディオスクリプティングはDirectX 8において新しく改善された部分であり、ポストオーサリングをゲームの中でサウンドを使うために使っていただくためのものである。
それからWindows上で開発していただくゲームをよりよい皆さまのビジネスとしていこうと考えている。つまり、ゲーム専用機で開発するよりもWindows上で開発した方が利益が上がるような形にしていきたいと思っている。

● 良好な周辺状況(Windowsゲームプラットフォーム)
マイクロソフトのWindowsをみていただくといろいろなゲームのビジネスチャンスがある。ゲームプラットフォームを見てみると世界で最大のインストールベースを持っている。米国では50%以上の家庭がPCを持っており、ゲームに使っている。2000年内には2億台のPCに3Dハードウェアが搭載される予定であるので、非常に豊かなコンテンツを見ても有望な市場であることが分かる。
オンラインのコンテンツを見ると、我々はプレイ可能なゲームで最大のインストールベースを持っている。米国では家庭保有のPCの65%以上がネットワークに接続しており、オンラインのコンテンツ、オンラインのゲームの市場はPC市場で非常に大きいといえる。
Windowsプラットフォームの強みというのは、PCに使うハードウェア、Microsoft Windows、ゲームコンテンツといったソフトウェアで急速な技術革新を継続させているところにある。非常に急速に革新を行っているわけであるが、ゲーム専用機からPCの方に技術革新がもととなって移行が起きている。ハードディスク、DVDのストレージ、ゲームの製品において非常に革新的な技術がどんどん出てきている。これはゲーム専用機では見られないことである。
開発環境も非常に強力になってきている。成熟したツール群があり、マイクロソフトだけでなく、全体の産業がコンテンツを製作するための豊かな開発市場を提供している。また、コンテンツを開発するとそれを見るのに同一のランタイムの環境を提供するというメリットがある。

●プラットフォームの改良
最近我々が行っている活動としてソフトウェアのゲーミングロゴプログラムがある。来年は米国でトライアル、またヨーロッパでもトライアルを行う。それからWindows Hardware Quality Labs(WHQL)と呼ばれるものがある。これはWindowsプラットフォームのハードウェアに関してのテストであるが、コンシューマのところで製品がきちんと動いているかどうかをテストするためのプログラムである。
DirectX 8は、今までなかったほどの広範囲なアップデートを行っている。グラフイックス、ネットワーク、オーディオ、入力、開発補助機能などが広範囲にアップデートされた。新しいフイチャーを導入することにより開発がより容易になった。アーキテクチャだけでなく新しいAPIで開発が非常にしやすくなっている。また、SDKやライブラリを使うことによって容易に開発ができるようになった。
DirectX 8は、DirectX7と違ってWindows 2000に対応している。従ってゲーム製品をDirectX 8を使って開発して出荷することができるようになった。
コンシューマWindowsプラットフォームは、Whistler対応になっている。アプリケーションとデバイスの互換性がある。特に消費者市場においてこの互換性を達成した。Whistlerにとってこのゲームのソフトウェア、ハードウェアの両方が焦点になっている。我々の目標としては、パフォーマンスを改善し、機能を充実させることである。

●Windowsゲーミングロゴ
第一段階として、北米地域と欧州でトライアルを行う。Windowsゲーミングロゴがどのように使われるかを見て要求に応じて他の地域にまで拡大をしていく。日本のゲーミングパブリッシャーがこのWindowsゲーミングロゴを付けることを有用であると思われるなら是非フイードバックをいただきたい。ロゴは市場のニーズに合っているかどうかを見て拡張される。ロゴのスペックは、評価をしていただいて、常識的な必要条件であると考えられる場合に追加をしていくことになる。ユーザーがWindowsゲームを購入して、Windows PCに搭載して一貫性をもったゲームの振舞いがあるかどうかが重要である。
Windowsゲーミングロゴは、Windowsを最高のゲームプラットフォームとして市場に認知してもらうための第一段階であると認識している。

●ゲーミングロゴの互換性
Windowsゲーミングロゴのスペックは、ユーザーの行動によって細分化されている。製品がインストール時にどういうふうに振舞うかに関したスペックがある。また、製品を最初に使うときにどういった振舞いになるかということに基いたスペックもある。また、どうやってゲームを保存するのか、またどういう振舞いが好ましいのか、こういったことを基にしてスペックが作られている。皆さんからのフイードバックをいただいて、ゲーミングロゴを是非導入したいという意見をいただいている。
また、このロゴのプログラムは、Windows 98、2000での動作が必須であるという要求条件がある。また、ソフトウェアのアプリケーションは、「ソフトウェアロゴの互換性テストに使われているすべてのハードウェアドライバは署名されていること」という技術要件がある。

●Windowsハードウェアロゴ
このハードウェアロゴのプログラムは以前からあり、このプログラムを使ってドライバの品質を保証している。これによりエンドユーザーに対しての体験を向上している。
WHQLのプロセスは、昨年劇的に改善された。ハードウェアの産業からいろいろなフイードバック、例えば、ターンアラウウンドタイムが長すぎるなどの意見をいただいた。そこでセルフテストプログラムを導入した。ハードウェアメーカーでテストをしてその結果を受け取った。平均的な処理時間を48時間以内として、その時間以内で処理をして署名をするというプログラムであり、それによって署名つきドライバで最新の機能やバグフイックスが提供可能になった。
Windows Meでは、署名つきドライバを署名のないドライバでは上書きできないようにしている。もし上書きしようとすると警告がでる。電子署名が見つからない場合にはアラームになる。署名つきでないドライバの場合には、WHQTにはパスしないことになる。何故かというと我々は、内部およびソフトウェア会社からいろいろな情報をいただいた。その情報の多くがエンドユーザーではこの承認されていないドライバで大きな問題を抱えているというものであった。テストに出していないから署名つきでないということでなく、テストに出したがテストに受からなかったために署名ができなかったというドライバが沢山ある。そのようなドライバがエンドユーザーのところで問題を起こすということで、Windows Meでは署名つきドライバを推奨している。

●Whistler(Windows 2000 for the Home)
次にホームユースのWindowsを見ていただくが、これはWhistlerと呼ばれている。いくつかの革新を施した。ユーザーインターフェイスが改善された。一般の消費者に最も使いやすいようなあるユーザーインターフェイスを搭載している。新たなログインを入れた。スクリーンもアクセスがしやすくなっている。また、Administratorの機能はなくなった。一人のユーザーから次のユーザーの切り替えが非常にシステム内ですばやく行われるようになっている。ソフトウェアを開発する場合にそれぞれのユーザーの思考が反映されるような形になっている。つまり、個々のユーザーのタイトル開発がしやすくなった。ビジュアルデザインも全体的に改善されたので、エンドユーザーにとっては非常に豊かな改善といえる。
コンシューマ向けの機能は、エンドユーザーがWhistler PCをホームネットワークにつないだり、家庭のデジタルメディアにつなげたりすることができるようになった。デジタルビデオプレイバッグ、オーディオプレイバッグ、MPEG3などをサポートしている。また、オンラインインターネットもサポートしている。
以前にも言ったが、もうWindows 9Xのコアベースの技術革新は考えていない。従って、コードベースに関してもこれからの革新はなく、全て新しいものは、Windows 2000を基としている。ゲーム製品を開発する場合には、Windows 2000そしてWhistlerを使ってテストしていただきたい。こういったソフトを使ってゲーム製品は稼動することになるので、是非テストをお願いしたい。来年にはOEMや小売店向けにWhistlerの大キャンペーンを行う予定である。消費者市場にWhistlerを大キャンペーンすることによって、プラットフォームとしてをエンドユーザーに活用していただくことが目的である。

●Windows 2000とゲーム
現状を見てみると、Windows 2000は最高の開発用プラットフォームとして好んで使っていただいている。非常に安定しているし、また問題がある場合やソフトウェアを開発している時に障害があった場合でもリブートをする必要がない。フェイルが既に中に入っているので、後でアプリケーションがクラッシュしたとしても問題を解決しやすいというメリットがある。また、最新のDirectXの機能を実装している。


Whistlerでは、DirectXの間での機能のギャップというものがなくなった。Whistlerの目標は、Windows 9Xの安定性を継承し、またWindows 2000の堅牢性を追加している。ハードウェアでについては、全ての主要なハードウェアのベンダーは最新デバイスにハイパフォーマンスのドライバを追加している。また、ゲームの互換性では、Whistler上で走るゲームとの互換性を持っている。Windows 9Xのプラットフォームで使っていたゲームは、Windows 2000でテストしていないものは現在Windows 2000で走らないものもあったが、そのようなものはフイックスされているので、Windows 2000或いはWhistlerで互換性が持てるようになった。
このWhistlerは、ゲームの開発だけでなく、展開のためにも素晴らしいプラットフォームである。ゲームの開発、Windowsのための開発が安定化されており、またパフォーマンス機能も非常に素晴らしいのでソフトが非常に稼動しやすくなり、開発と実行のプラットフォームが同一化されたというメリットがある。

●DirectXの状況
DirectXは何年も前から見ているように、1年ごとのリリースを継承してきた。このWindowsのプラットフォームに関しては、急速な形で改革を進めている。ハードフイーチャに新しいものをどんどん入れて、APIやゲームのコンテンツに必要な機能をどんどん含めている。将来のリリースでは最終RTMを年のもっと早い時期に移すことを計画している。
DirectX 8の最終版は、10月中旬にリリースする予定である。来年になると、DirectX 8.1が出る予定である。8.0から少し改善をしたものの最終版は2001年Q2を予定する。
DirectX 9.0は、2002年Q2に出す予定であり、スペックは現在検討中である。皆さんからインプットをいただき、9.0に入れたい機能に反映させていただきたいと思う。SDKで新しいサンプルが見たい、こういった機能が欲しいといったものを是非インプットとしてお寄せいただきたい。
現在、DirectX 9.0のスペックレビューに参加してない企業は是非参加していただき、9.0のスペックの開発に参加していただきたい。
DirectX 9.0のスペックレビューは来年の早い時期に計画されている。スペックレビューのグループに入っている方は、このレビューにもちろん招待させていただく。DirectX 9.0は、Windows 95には非対応であり、Windows 2000に対応していくことになる。これはMeltdownの今までの会議でも話がでていたことであり、皆さんこれで恐らく驚くことはないと思うが、御社にとって問題があるという場合には是非私どもの方に連絡していただきたい。

●DirectX 8.0グラフイックス
DirectX 8.0のグラフィックスは、基礎から新たにWindowsプラットフォーム上に構築したアーキテクチャであり、DirectX 3D APIにおいては次世代であるといえる。最も大きな技術革新は、プログラマブルシェーダとピクセルシェーダである。プログラマブルシェーダにより、非常にフォトリアルなリアルタイムのコンテンツの実現が可能になった。リアルタイムのクオリティ、リアルタイムのパフォーマンスによって、今までであればモーションピクチャタイプのようなノンリアルタイムなレンダリングでなければ出せなかったものが、今回このグラフィックスで可能になった。
その他に、DirectX 8.0グラフィックスを見てみると、DirectDrawの再構築ということに気づかれると思う。DirectX 3Dとかなり統合化されている。ISVの人たちから非常にいいフイードバックが来ているので使い勝手もよくなっており、またパフォーマンスも今までと比べてかなり向上している。

●Direct3D 7.0ハードウェア
ほとんどのハードウェアは今現在市場に出ているものであり、いくつかの特長がある。一つがジオメトリエンジンで、トランスフォームとライティングなどを加速化させている。今までゲームのCPUでやっていたものが、今度はグラフィックスのハードウェアに搭載されているのでパフォーマンスもよくなっている。また、ゲームが人工知能などにCPUを使うことができるようになっている。
キューブマッピングが実現しているので、マッピングの効果がよくなっている。また、4ステージマルチテクスチャは非常に複雑なサンセスいろいろなバンプとかリフレクションを可能にする。
パフォーマンスに関しては、400-600メガピクセル/秒というフィルレートになっており、非常に高性能である。そして、15-25メガポリゴン/秒のスループットになっており、非常にパワフルなグラフィックスのチップになっている。

●Direct3D 8.0ハードウェア
Direct3D 8.0ハードウェア更に革新が進むことになる。 先ず、パラレル頂点DMA入力があるので、バーテックス、つまり頂点データが7.0と比べてかなり高速になっている。
プログラマブルシェーダ(頂点とピクセルを処理)は、非常に興味深いビジュアル効果を可能にする。
ボリュームテクスチャは、環境を拡張するもので、例えばスモーク(煙)とかフォグ(霧)といったボリュメトリックな効果をゲームのアプリケーションの中で実現できる。
パーティクルレンダリングは、特殊なエフェクトなどを可能にする。
マルチサンプルレンダリングは、アンチエリアスなモーションブラーなどがこのテクニックによって可能になる。
高次プリミティブは、より興味深いオブジェクトがゲームの中で可能になるというものである。
また、性能は非常に早くなっており、このハードのクラスであると1.2ギガピクセル/秒、そして60メガポリゴン/秒となるので、このハードの上で開発するゲームは今までのものに比べてかなりインパクトのあるものになる。

●DirectX 8.0オーディオ
DirectSoundとDirectMusicの統合が実現した。これは特にオーディオを開発している方は考え方を変えなければいけない。今、DirectMusicがサウンドを生成している部分であり、Webフォームなどをそこに搭載している。DirectSoundのバッファーを使ってやっていたこと、或いはDirectMusicの合成ツールをやっていたことが、それをDirectMusicでやっていくわけである。DirectSoundとDirectX 8.0はミックシングコンソールのような役割を果たすことになり、それをプレゼンテーション用にしていくことになる。
DirectX 8.0では、DLS2(DownLoadable Sound Ver.2)のサポートを提供する。これは、業界標準のシンセサイザウェーブ形式である。
また、エフェクト処理が入っており、非常に強いオーディオリアリズムが提供される。また、プラッグも可能なので非常に複雑なオーディオ環境の中でそれをいろいろ変化させることもできる。
オーディオスクリプティングのサポートは、オーディオの開発者にとってグラフィックスと同じような柔軟性を提供する。ゲームエンジンが何の調整もせずにテクチャマップの編集やポリゴンの編集が可能になる。オーディオではゲームのエンジンを何の修正もなく、そのゲームのイベントに合わせて変えていくことができ、シークエンスもできるということで、ゲームアクションに対して柔軟なコントロールが提供されることになる。

●DirectPlayの使命
よくデベロッパーの方たちから、「何故、マイクロソフトはDirectPlayを作ったのか」と聞かれる。Windowsには、ネットワークのためのAPIがあり、それをマルチプレイヤゲームのプラットフォームにすることもできるが、DirectPlay は基本的に全体的なゲーム業界の開発時間の節約を目的としている。
ISVの皆さんは、ロービー処理とセッションの発見、ネットワークの中でのアプリケーションの起動、そしてプレイヤとグループの管理をするためにコードを書いている。しかし、マイクロソフトが一回書いたコードを皆さんが使って、そして皆さんがコードを書く時間を使う代わりに、よりよいゲームプレイを作って、エンドユーザーのためによりエキサイティングのゲームを提供する方がはるかに効率的だと思う。DirectPlayはこれを全部やってくれ、そしていろいろな問題を解決してくれるが、特にプレイヤとグループの管理がDirectPlayの中で重要な要素になっている。
非常に大きな問題群があると思う。マルチプレイコンテンツを実現するためには、例えばモデムの接続がゲーム中に駄目になってしまうということがある。特にゲームホストの方でこれがつながらないということになると問題になる。最初にそういったドロッププレイを検出することを実現する。ホストファンクションというのもサポートしている。マルチプレイヤの中でピアツーピアのゲームの中で1人がドロップオフしたとしてもゲームをそのまま継続できるということである。
もう一つDirectPlayのダイアログというのは、よりよいネットワーク通信能力を提供する。それは、皆さんがネットワーキングのいろいろな問題から開放されるということである。プロトコルから独立しているので、ゲームがシリアルモデムコネクトなのか、IPネットワークなのかそういったことを全然心配することがない。そして将来新しいプロトコルが出てきた場合、そのゲームのオーサリングをもう一度やる必要がない。DirectPlayにサポートされていれば新しいプロトコル、ネットワークプロトコルでそれが直ぐに作動する。また、複雑なネットワーク通信では、マルチゲームプレーヤの場合、NAT、ファイヤウオール、プロクシーなどがサポートされる。将来、家庭のネットワークの通信を見ていくと、こういったデバイスが恐らくどんどん普及することになると思う。インターネットサービスプロバイダーに接続しなくても、家庭でネットワークアドレス、トランスレータ、ファイヤウオールなどが普及してくると思う。インターネットの接続のフイーチャをWindowsリリースの中では実際にはNATということでやっていくことになるので、DirectPlayを使っていないと結構煩雑になってしまう。しかしDirectPlayを使えば簡単である。また、通信の保証もDirectPlayで提供される。
DirectPlay は、IPネットワーク上でもこのような機能を提供するので、新たなコードを自分自身で書く必要がなくなる、とそういったフイーチャである。

●DirectPlay 8
DirectPlay 8は強大なマルチプレイヤのサポートを行うものである。今や、インターネットが爆発的に普及して、各家庭にどんどん接続されて、非常に興味深いゲームが何百のプレイヤを動因して実現しているという環境もある。従って、パフォーマンスを向上させるということだけではなくて、アーキテクチャがスケーラブルであるということも大事になってくる。DirectPlay 8は、DirectPlay を全くリライトしたものであり、これは非常に強大なマルチプレイヤの需要にあったものである。
もう一つDirectPlay 8.0のエキサイティングな確証は、IPボイスのサポート(DirectPlay Voice)である。既存のネットワークゲームにも容易に統合できる。SDKの中にはサンプルコードが入っているのでそれを見ていただきたい。また、非常に幅広いCODECがロービットからハイビットまで利用可能である。
CODECは、いろいろなゲームデバイスにおいて、ロービットレートのCODECを使って非常にクオリティの低い、例えば無線の通信などのシミュレーションを実現する、そしてスタティックなサウンドをオーディオ環境に実現することも可能である。

●Direct3D デモ
ATI Technologiesによるグラフィックスチップの最新版をWindowsプラットフォーム上でのデモを見ていただきたいと思う。これはDirect3Dのグラフィックスパイプラインの加速化を実現したものであり、ビジュアル効果もかなり興味深いものであるので、DirectXの3D効果を是非ここで見ていただきたい。


●DirectPlay Voice デモ
Paul Newson DirectX Teamによって開発されたものである。 ネットワークゲーム中にリアルタイム音声チャットができる。ボイスコミュニケーション、ゲームの通信は体系に新しいエキサイメントを追加してくれるものである。音声の通信能力が理解いただけたのではないかと思う。

●DirectInput 8
DirectInput 8は、その中でもDirectInputマッパーが優れている。このマッパーが行うことは、入力機器をマッピングして、ゲームのアクションをコントロールすることであり、2つの目標がある。
まず1つ目は、入力ループを簡素化することである。さまざまなシステムのデバイスをスキャンニングする代わりに、さまざまなボタンを押して解釈してアクションを受け取るのではなく、そのループに反応することである。
2つ目は、ゲームアクションと入力機器の入力を設定する標準化されたユーザーインターフェイスを提供することである。ユーザーが一つのゲームから別のゲームに移動した時に全く同じインターフェイスを見ることができるようになる。更に特定のゲームのサポートはWindowsのプラットフォームで提供されることになるので、各入力機器で行う必要がなくなる。
また、DirectInput8.0の特長として、外国語のキーボードも提供しており、更に改良が加えらた。

ここで、このインプットマッパーがどのようにして機能するのか、アプリケーションに使うのかということをお話したい。新しいユーザーインターフェイスをお見せしたい。これがDirectInputマッパーのユーザーインターフェイスである。ここにマッパーの絵がある。


それぞれのボタンがどのような定義になっているのか、ユーザーがこの上のところでタブを選ぶ、そして設定を行うことができる。非常にシンプルである。ユーザーがどのボタンがどのゲームアクションに設定することができる。
2番目の事例は、ジョイスティックである。ユーザーインターフェイスはこのようになっている。
ここで申し上げたいのは、私どもはDirectInputをデフォルトのユーザーインターフェイスとして提供するが、皆さまのインターフェイスでカスタム化ができることである。バックグラウンドのテクスチャとかカラーとかでカスタム化が可能である。また、さらにアプリケーションそのものがデータを使ってデフォルトユーザーインターフェイスを作ることができる。さらに、皆さまのゲームの中でカスタム化ができるようになる。

●DirectShow 8.0
これは私たちがDirectXのコアと統合した部分であり、さまざまなファイルをサポートしている。このDirectShow 8.0の中にはオーディオ、ビデオ、それから一般的なストリーミングデータ用の新しいプラグインモデルが入っている。柔軟性が高まっており、さまざまな利用ができると思う。それから非常にパワフルなノンリニアのビデオ編集もサポートしているので、アプリケーションだけでなくゲームなどにも使っていただけることになる。更に、同じフイーチャについてであるが、オーディオ、ビデオのキャプチャのサポートも改善された。DirectShow 8の使い勝手もよくなっている。サンプルソースコードがDirectXコアと統合されている。開発者にフォーカスしたサンプルなコードが入っているのでインタービデオ等でどのようにDirectShowが使えるのかということをご理解いただけるものと思う。

●DirectX 8.0 DDK
DirectX 8.0リリースのコンポーネントである。これはSDKに入るがハードウェアのメーカーに使っていただくものである。3つのコンポーネントがある。先ず、グラフィックスのコンポーネントであるが、これはフルドキュメンテーションを3Dドライバーインターフェイスそれから2つのドライバ(Permedia 3DドライバのWindows 2000、Windows 9X)のサンプルなどをベースにしたものが提供されている。また、リファレンスラスタライザなども提供されており、DDKの通常のライセンスで使うことができる。
更に完全な定義が行われており、全てのアルゴリズムがディレクトCDでどのように操作されるかということが分かるようになっている。このようなグラフィックスのコンポーネント以外にDDKのコンポーネントを使って、マッパーファイルにも対応している。そしてユーザーインターフェイスとして使っていただくことができる。
また、更にデジタルTVのプロダクト用(放送ドライバアーキテクチャBDA、サンプルATSCチューナとキャプチャドライバ)のサポートファイルがある。
この分野の仕事をされているのであれば、是非サインアップして欲しい。まだベータプログラムに参加していないのであれば是非参加していただきたい。SDKから参加でき、そうすればDDKを受け取ることができる。

●お願い
先ず、DirectX 8に備えてください。非常にエキサイティングなタイトルが新しいDirectX 8の機能を活用しており、今日ご紹介するような新しいフィーチャを沢山のタイトルが使っているが、更にDirectX 8を改善していくためにも是非皆さんのご意見をいただきたい。DirectX 8を動作させるために沢山の改善、フイックスを行ってレガシーインターフェイスに加えている。そしてこのような状況のもとで皆さんのアプリケーションがきちんと動作するかということも確認していただきたい。
Windows 2000が非常に重要であり、これから将来の消費者のOSとなっている。皆さんのタイトルをこのWindows 2000上で動作させて確認して欲しい。これが上手くいけばWhistlerでも上手くいくと思う。これが必須要件となっている。
それから、Windowsゲーミングロゴのプログラムに参加していただきたい。私どもに是非コンタクトして、スペックを受け取って皆さまのプロダクトをレビューしてください。皆さんの企業がビジネスをしていく上で必要なものであると思う。もし何か問題や提案があれば是非フイードバックをいただきたい。
また、WHQLは重要な認定ドライバとなっている。もし認定ドライバに問題があれば、お知らせいただきたい。テストが完全でないので、もしそのテストにバグがあればそのテストそのものを改善していかなければならない。そして将来的にそのテストからバグを取り除かなければならない。
是非、DirectXスペックレビューのプロセスにも参加していただきたい。1社につき1名DirectX の分野でスペックレビュー参加していただきたい。1社につきグラフィックス、Audio、DirectPlay、DirectInput、DirectShowということで1人ずつ代表を送ることができる。グラフィックスで2人の方が出ると、もし意見が異なると御社全体の意見ととらえることができないので、是非スペックを見てください。そして社内でレビューした後、全社の意見としてマイクロソフトに提供していただきたい。
皆さまからのご提案をお待ちしている。そうすることによってDirectX 9また将来のリリースが改良できる。

●フイードバックの連絡先は
・DirectXに関して
  directx@microsoft.com  (英語)
  directxj@microsoft.com  (日本語)
・ Windowsゲーミングロゴに関して
  Wingame@microsoft.com
・WHQLに関して
  winlogo@microsoft.com

●DirectXに関する情報
  ・ http://msdn.microsoft.com/directx
  ・ http://www.microsoft.com/japan/developer/directx/  開発者向け
  ・ http://www.microsoft.com/japan/directx  エンドユーザー向け
  ・ http://www.microsoft.com/japan/support  テクニカルサポート
  ・ http://www.microsot.com/japan/hwtest  Windowsハードウェアロゴ


■DirectX 8 for Visual Basic
マイクロソフト株式会社 製品マーケティング本部 デベロッパーリレーション部 テクニカル エバンジェリスト 川西 裕幸氏

DirectX for Visual Basic(DXVB)はDirectX 7から初めて搭載された。DXVBについては、http://www.microsoft.com/japan/developer/directx/ にいろいろな情報を出しているが、4月から6月まで連載でVBの記事を書いてきた。その内容は、DirectShow、RetainMode、DirectMusic、DirectPlayおよびImmediateModeの5つで、先週までにトータルで3万くらいアクセスをいただいている。DXVBの本が日本では(多分日本だけだと思うが)4、5冊出ており、またいろいろな雑誌でもとりあげている。
日本ではVBユーザーでDXVBを使われる環境が割合と揃っているとのではないかと思っている。今回のセミナーはUSのセッションを日本語にしたものであるが、VBのセッションだけは米国にはなく日本のみでやっている。日本ではDXVBを使う環境が非常に整っており、もっと皆さんに理解していただき、いろいろなところで使っていただける環境を作れないかなと思ってこのセッションをやっている。


●はじめに
全てのDirectX 8の次のコンポーネントは基本的には全てVisual Basicからアクセス可能である。
・ Graphics (Direct3D、DirectDraw)
・ Audio (DirectSound、DirectMusic)
・ DirectPlay
・ DirectInput
・ DirectShow
ただし、DirectMusicの細かいところができないなど一部低レベルの部分でいじれない部分がある。DirectShowの場合は昔からVBで動いていたが、DXVBの仲間ということで全てのコンポーネントがアクセス可能になっている。特にグラフィックスは、3Dの部分ではD3DXというユーティリティがあるが、それもそのままDXVBから使うことができる。また、DXVBの中でDirect3D フレームワークという形で今まであったRetainModeの機能が大部分似たような形で使えるようなフレームワークを作成している。

多くの新しいサンプルが追加されているので、VBのサンプルが充実している。また、チュートリアルもかなり揃っているのでチュートリアルを見ながらプログラミングしていただける。
DirectX 8のリリース後すぐに日本語ドキュメントが提供される予定である。Direct7の時は半年以上待っていただいたが、今のところ数週間後くらいにはダウンロード可能なように準備している。皆さんにお送りするSDKでは、Helpの入ったCDをお送りできると思う。

●DirectX for Visual Basicは開発速度を加速する
VBなのでアプリケーションのコンパイルやリンクをする必要がない。従って開発者はアプリケーション実行中にコード変更や修正が可能であるから、非常にインタラクティブにバグフイックスやコンフィギュレーションができる。
また、いろいろなボタンとか窓、ラジオボタンなどを設定するのが非常に簡単なので、ツール開発、ビジュアリゼーション、プロトタイプに適している。
いくつかのDXVBアプリケーションのスピードは、Cで書いたものと同じくらい高速なものもある。決してVBだから全てが遅いというわけではない。
他のアプリケーション(例えば、OfficeやIE)からアクセス可能なコントロールを作ってExcelやIEに貼り付けるというコントロールが作成できる。
サンプルとチュートリアルが充実しているので、DirectXプログラミングを始める開発者を援助することができる。

以降、一個一個のコンポーネントについての簡単な説明がありました。

● Audioの変更
・ 全てのDirectSoundインターフェイスと約半数の上位レベルDirectMusicインターフェイスをサポートしている。
・ DirectMusicオーディオパスモデルを使ったエフェクト追加が可能である。
・ DirectMusicの使用方法は、DirectX 7のインターフェイスより単純化されている。
・ DXVBの前バージョンより多くのサンプルとチュートリアルを追加した。
・ サウンドエフェクトとミュージックを同じリソースから取り扱うことができるようなアーキテクトになっている。

サウンドエフェクトの追加と削除についてのデモが行われ、これはサンプルコードに入っている。インタラクティブにボタンを付けるのはVBにとっては非常に簡単なので、いろいろなファイルからエフェクトをかけていくようなことが簡単にできる。
また、オーディオのコードの例として、「サウンドとミュージックにリバーブをかける簡単なステップ」が示され、解説が行われました。

●DirectPlay
・ 新たに設計されたDirectPlay 8インターフェイスの全ての機能をサポートしている。
・ DXVBはアプリケーション開発者が実装するインターフェイスを通してコールバックイベントを取り扱うことができる。
・ VBあるいはCどちらでコーディングされたDirectPlay Serverともコミュニケーションが可能である。
・ DirectPlayフレームワークサンプルコードがあるので非常にセットアップが楽になっている。
・ DirectPlay ServerのSDKが中に入っているので、それにもDXVBは対応している。

●DirectInput
・ DirectInputマッパーをサポートしているので、アプリケーションからのジョイスティックやキーボード機能のマッピング変更が容易である。
・ DXDB for DirectX 7と比べ、より良いフォースフイードバックのサポートをしている。
・ フォースフイードバックエフェクトのオーサリング、ファイルへの保存、読み込みが可能である。

● DirectShow
・ 再生サポートをデモンストレーションするVBサンプルコードをアップデートした。
・ タイプライブラリを使ってDirectShowメディアグラフのアッセンブリが可能である。

●デモ
グラフィックスのデモでは、ビジネス(Bar ChartとScatter Chart)と新しいD3D機能(Skinned Meshについて、Audioでは、3D Audioについて、最後に両方のAPIを使ったデモとしてAir Hockeyについて、サウンドエフェクトと3Dのグラフィックスを一緒にした大変臨場感のあるデモでした。このようなものが割りと簡単に作れるとのことでした。

●グラフィックスの変更
・ Direct3D7からCのインターフェイスで行われた変更に1対1に対応している。
・ D3DXインターフェイスと関数を完全にサポートしている。
・ Direct3D 8 for Visual Basicフレームワークは、多くのDirect3D RetainMode(RM) と同じ機能を提供し、カスタマイズ、拡張可能になっている。要は、ソースコードも全部オープンになっているということである。

デモとして、「こんなサンプルモデルが十分VBで作れますよ」という例がシアトルに似た街をシミュレートするドライビングゲームが示されました。環境マップもサポートしているとのことです。

● 更にグラフィックス
今までの3Dを一生懸命ごりごり書いているプログラマだけでなく次のような広い範囲のユーザーをターゲットとしている。
・ アーティスト:膨大なコードを書かずにそのアートのウォークスルーしたい
・ ゲームデザイナー:ツール、プロトタイプ、エンターテインメントソフトを作りたい
・ ビジュアリゼーション:ビジネスデータや科学データを3Dで表示したい

デモとして、以前Direct3D RMで書かれたアプリケーションをDirect3D 8 Visual Basicフレームワークにポーティングした例として「Auto Parts」がありました。
DX7の時はRetainModeで作られていたが、DX8ではフレームワークで作成しており、フレームワークを使えば同じようにできる。

● Direct3D 8 Visual Basicフレームワーク
フレームワークを使った「メッシュアニメーション」のサンプルコードが示され、解説が行われました。

● DirectX for Visual Basicを始めよう
VBを使う上での簡単なヒントが、「タイプライブラリの参照」、「DirectXオブジェクトの作成」、「メソッドに配列を渡す」、「フラグを使う」、「ビットマスクを使う」、「DirectX列挙」について説明がありました。

● まとめ
・ DirectX for Visual Basicは皆さんの開発速度をより早くする。
・ Visual BasicプログラマにDirectXのマルチメディア機能を提供するという意味では非常にパワフルなツールになる。
・ より広い分野にDirectX機能を適用できるという意味で非常に可能性のあるものである。

VBとしては、Ver.6を推奨するとのことです。


Contents         Windows Consortium ホームページ