DirectXの怪



なぜ最近更新をしないのかというと、就職活動をしているからである。まあ、Xith3Dの実験をするほど忙しいのかというとそうでもないのだが、なにしろ実験は同時並行でブログ記事を書かないといけないので心理的お疲れ感が大きくなかなか手が出ない。(実際は実験記録を取るのとブログ更新が同時に出来るのでお得なのだが。)そもそもそんな実験をしている暇があったら企業へ提出用の企画書書けと思ってしまうので実験やらないで一日が過ぎてゆく。


で、今日の話はDirectXの奇怪なお話。納涼として怪談代わりにでも聞いて欲しい。




昨夜のことだ。
夜遅くひと気の無くなった研究室でゲームの企画書を書いていたら、携帯が振動した。
就職サイトからのメールだった。
就活先の会社のブログが更新されたというので見てみると、画像処理についての解説で、デモプログラムも付いていた。
実はそれまでもデモプログラムがついてた記事はあったんだが、実例が表示された画像が同時に公開されていたので手を付けていなかったのだ。
しかし、昨夜はなぜかプログラムを実行してみる気になった。その気になった理由は自分でもよく分らない。
デモプログラムを圧縮したZIPファイルをダウンロードして、解凍。exeファイルとdllファイルが入っている。どうやらWindowsで動きそうだ。


ダブルクリックして実行してみた。




すると

グラフィックハードウェアがShaderModel3.0に対応していません。
現在お使いの”MobileIntel(R)945GM ”Express Chipset Family"はShaderModel0.0までの対応です。
このデモプログラムの実行にはShaderModel3.0以降対応の環境が必要です。

Render初期化エラー

とメッセージが出てきた。
斜め読みするとどうもShaderModelのバージョンが足りないようだ。
そもそもShaderModelとは何なのか知らないのでググる

DirectX 9.0cに搭載されているグラフィックス機能。

とあった。なるほど。じゃあDirectX 9.0c以降に更新すれば解決だな。最新バージョンがいくつかは知らないが。
おっと、その前に自分のバージョンを知っておいた方がいいだろう。
・・・どうやるんだっけ?
またググる

DirectXのバージョンの確認方法
http://www.microsoft.com/japan/security/bulletins/ver_directx.mspx

1.[スタート] メニューから [ファイル名を指定して実行]
2.dxdiag と入力し [OK]

とあったので実行してみた。




そこで・・・


俺は、戦慄の事実を知った・・・!




「そんな・・・バカな・・・」


顔に噴き出た脂汗を両手でぬぐいながら俺はつぶやいた。


「既にバージョン9.0cだとっ・・・!?」






ハイ、怖いですねぇ〜恐ろしいですねぇ〜!
しかし、どういう事なんでしょうね?
DirectX 9.0cに搭載されている」っていう事はShaderModelはソフトウェア的なものだと思うんだが違うのか?
一方、最初のエラーメッセージをよく読むと、ハードウェア的なモノみたいなので、ソフトはあってもグラフィックスカードにその機能が物理的に存在しないってことなのかな?これだとカード交換しない限り無理だけど。


どっちなんだよ!?


ソフトウェアなのか、ハードウェアなのか


ハッキリしろ!!


俺の怒りは1ギガHzだぞコラ!!