怒りのJava学習 このページをアンテナに追加 RSSフィード

Java初心者が
Java学習の途中で感じた怒りを
叩きつけるブログ

 このブログでは
※コンパイルエラーの99%は入力ミスで出来ています
※コンパイルエラーの1%は故意の省略で出来ています

現在皆様のエラー例を募集中



↓このブログの執筆方針
はじめに

↓ブログランキングへのリンク

クリックでランキングのポイントが加算される
今のところどうでもいい

2009-07-18

[]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だぞコラ!!

ららびららび 2009/08/24 02:06 > グラフィックハードウェアがShaderModel3.0に対応していません。
シェーディングの計算にはソフト側(CPU)で計算する方法とハード側(GPU)で計算する方法があって、この場合ハード側にしか対応してなかったんでしょう。
CPUでシェーディングの計算をさせると遅すぎてフリーズした状態になってしまうので、無理して動かすより動かさない方がマシって作者が考えたのかもしれません。

java1roujava1rou 2009/10/05 09:56 >ハード側にしか対応してなかった
なるほどそうだったんですね。

しかしどうして素人にも分かりやすく書いてくれないんでしょうかねコンピューターのエラーメッセージは。
もしかして下手に素人に知られると間違えてフリーズした状態になってしまうので、無理に教えるよりは知らせない方がマシってゲイツが考えたのかもしれませんね。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/java1rou/20090718/1247887831