過去の独りごち/独りごとはこちら
過去のJavaアプレットは
こちら

 

12/2 接続開始

 フレッツISDNで常時接続環境になりました。 ISDNにしてもそんなに速度自体は変わらないだろうし、料金固定で延々とネットにぶら下がれる環境が欲しいから…と思っていたのですが、案外速くて快適に使えています。 何をDLしてても大概は限界値の8KB/sec出ますね。DirectX8 SDKも一晩寝てる間に全部DL出来ました。雑誌付録を待つまでも無く。

 いやしかし、常時接続は良いんですが、今まで(更新ペースの早かった頃(^^;))は夕方から夜にかけて何かULするものをこしらえて、テレホ開始とともにUL、というリズムが有ったのですが、今ではテレホ時間とかを意識する必要が無いので、シームレスに時間が…要するに余計にダラダラした生活になっただけかい?

 ともかく、ネットで他人とコミュニケーションを取りながら調べ物をしながらコーディングしたり現実逃避してフリーなゲームのサイト漁ったり出来るというのはいいなぁ。特にコーディング上の調べ物がいつでも出来るというのは良いいことです。

 とりあえず今日はDirectX8 SDK(主にDirectX Graphics)のヘルプを漁ってみました。日本語版は和訳スタッフの方には申し訳ないんですが、なんだか用語が取りづらいので、英語版を読むことにしました。

 …ほぉ

 …ふぅむ

 …う、嬉しい

 なんと、DirectX Graphicsに限ればEnum〜が無いんです。どういうことかというと、あの面倒で面倒でどうしようもない列挙用コールバック関数をいちいち書かなくてよくなったのです! Quadruple Dのように、初期化に関するラッパーライブラリを使っている限りはあまり関係ないんですが(^^;

 曲面パッチとかピクセルシェーダは今のところ興味ナシ(ぉ ピクセルシェーダ用のアセンブラとかがなかなか燃える要素となりそうですが、はて。

 それにしても、DirectX8のサンプルを起動すると自分のビデオカードも古くなったのかなぁ…と思いますね。結構、ハードウェアで実行してくれないデモがあります。 ソフトウェアによるエミュレーションじゃお話にならない速度ですし。

 蛇足ですが、ソフトウェアによるエミュレーションというのも魅力的な事があります。大概の環境で正しく、同じように動作してくれるわけですから、さながらGDIだけでアプリケーション書いた時のような安定性を見せてくれます。ちょっとだけ回転拡大縮小とかを入れたいんだ、けどDirect3Dは環境依存のトラブル多発だし…という悩みを解決するには、案外有用な代物かもしれません…

 それにしても、ヘルプには従来で言うDirect3Dっぽいトピックばかりで、DirectDrawを受け継いだ部分のヘルプは無いんだろうか…と思って探しても、やっぱり見つからない。 けれど、サンプルには確かにDirectDraw Sampleのディレクトリが有るんです。 とりあえずその、DirectDraw Sampleとやらのソースを覗いて、DirectX初期化回りを見てみました。

 ddutil.cppの、CDisplay::CreateFullScreenDisplayメソッドによると…

// DDraw stuff begins here
    if( FAILED( hr = DirectDrawCreateEx( NULL, (VOID**)&m_pDD,
                                         IID_IDirectDraw7, NULL ) ) )

 …見なきゃ良かったかも ( i-i

 なんと、DirectDrawサンプルだけDirectX7準拠の書き方をしてるんです。 じゃ、普通にBltがしたいとか、そういう時はDirectX7使えという事なんでしょうか…m(__

 DirectX7ではIMとRMの同居が出来なくなりました。同様に、DirectX8ではDirectDrawとDirect3Dの同居が出来なくなった模様です。

 …つまり、DirectX8では、DirectDrawとDirect3Dが統合されたというより、むしろDirectDrawが廃棄されたと考えたほうが良い気がします。

 DirectDrawっぽいプログラムを作りたい場合はVoodoo1とかの過去のビデオカードの事を考えたら、サーフェスの最大サイズが256x256までに制限されるというだけです…これは辛い。

 しかし、DirectX8では、従来で言うDirect3Dを使うだけなら、これまた非常に簡単になったと言えそうです。悔しいくらいに簡単です。死ぬほど面倒で面倒でバカみたいに生産性が無さそうな作業だから真面目に書く気が起こらないのでバグの温床になりがちで環境によってウチのマシンで動かねーよコラと怒るヒト続出の原因ともいえる列挙用コールバックが無くなり、とりあえずD3DXに頼れば気軽に色々出来ます。

 D3DX…m(__

 えーと…僕らはどうしたらいいんでしょうか〜(^^;

 今のうちにLinuxでもイケるOpenGLに逃げるとか(ぉ

 携帯電話でも動くようになりつつあるJavaプログラミングに賭けてみるのも一興です。

 なんだか記念すべき日ながら、暗雲の立ち込めてしまった一日でした。

 そんなことは無いぜ、ちゃんとヘルプ読めよ! という光を与えてくれるような情報を求めますm(__

Taku Hayase(SANDMAN)

戻る