DirectX

DirectX

D3DXでERROR_MOD_NOT_FOUND

ある環境でプログラムを動かそうとしたら、D3DXAssembleShaderFromFile 関数で ERROR_MOD_NOT_FOUND というエラーコードが返ってきた! こんなエラーは初めてで、エラーメッセージのログも何もなくとても困った・・・。 よくよく調べてみるとこのエラーは、必要なモジュール(DLL)がロードできなくてエラーとなったことを意味して...
DirectX

透明ウィンドウ(半透明ウィンドウ)の話 その3

透明なウィンドウということで、このシリーズも第3回。今回が最後となりそうです。 ようやく Windows7,Windows8両方ともで動かせるやり方が発見できました。 なお、Windows7のAeroGlassOFF状態でも動くので、注意して実装すればWindowsXPでもこの方法でいけるのではないかと思います。 その方法は、レイヤードウィンドウを使う方法で...
プログラミング

透明ウィンドウの話 その2

アプリで透明なウィンドウっていう部分は1つのウリになる部分で、やっぱりWindows 7(Vista)でしか動かないってのはやっぱまずいと思うんですよ、ということでもう少し調べて何か方法はないかと考えてみました。以下にその考えてみた話をメモっておこうと思います。 まず、DWM OFF状態でそもそも目的の動作が出来ない時点でまずいでしょう。Vista,7でBa...
DirectX

透明ウィンドウとWindows8

ようやくWindows8が発売されていろいろと話題になっているようですが、Aeroがなくなってしまった点は個人的に残念に思います。また、このAeroがなくなったことで、透明なウィンドウの扱いがちょっと困ったことになっているように見受けられます。 参考:  Windows Vista/Windows7 では、DWMの機能をつかってうまく実現できていたようですが...
DirectX

スキニングメッシュのバウンディングボックス

久しぶりにスキニングメッシュ(エンベロープモデル)のネタです。 キャラクターのモデルでバウンディングボックスやスフィアを使って、あたり判定を行っていましたが、 結構無駄な部分が出来てしまい、結果厳密なチェックが出来ないという残念な結果になってしまいます。 かといって、頂点変形をCPUで全ての頂点で行って厳密なバウンディングボックスを作るのもこのご時世に何かあ...
DirectX

VisualStudio 2012とDirectX SDK

どうやらVisualStudio2012を使う状況においては、DirectXSDKにも注意が必要のようです。 VisualStudio2010を使う際にもDirectXSDKの諸注意がありましたが、2012においても同様に注意が必要のようです。 まず結論からいうと、うまく動作するDirectX SDK にはある範囲があるようです。 手元にインストールしてあっ...
DirectX

remoteFX環境下で試してみた

ちょっとだけ調べてみました。 動作環境ではRADEON5450を搭載しています。 ■Fetch4は使えるのか? 使えないです。 ■DepthTextureは使える? 使えるようです。 ■まとめ やはりGPUを抽象化した別のデバイスとしてみえるため、 ベンダ拡張の機能がまだ強い物は扱えないようです。 Fetch4もダメとなるとNVIDIAのTransparen...
DirectX

DirectX11とDirectX9比較

DirectX11(D3D11)はDirectX9ハードウェア上でも動きます。 そういう場合に、DirectX11とDirectX9ではどちらを選択すべきだろうか、と思ってちょっと比較をしてみようかと思います。 ■チェック環境 RADEON HD 5450(DX11対応ハード) Geforce9600GT Geforce6800GT サンプルプログラムとして...
DirectX

ハードウェアシャドウマップをやってみる -エラー編-

■うまく行きそうで失敗 AMD RADEON 5450の環境でもハードウェアシャドウマップが使える*1というので ちょっと試してみました。 しかしながら、DirectXのデバッグランタイムを使用すると エラーメッセージが表示される結果となってしまい現在調査中。 同プログラムはNVIDIA製グラフィックボード使ったときには正常だったのですが。 表示されるエラー...
DirectX

D3DPOOLについて考える

今回はDirectX9でのD3DPOOLについて考えてみました。 最近はDX10の話だったので、ちょっと流れをぶち切ってしまいました。 以下の話は、すべてWindowsXP DirectX9での話となります。 Vista以降のDirectX9Exの話はまた異なるため、そのうちにでも。 ■ 説明 このページを見てしまってから思い悩むことになってしまいました。 ...