DirectX D3D10_TEXTURE2D_DESCのArraySize。テクスチャ配列の罠? DirectX10でテクスチャ配列使ってみようと思い、 ソースコードを書いて試そうとした矢先に躓きました。D3D10_TEXTURE2D_DESCのArraySize = 2; として、 テクスチャを作成するも失敗。 0x773fb727 (KernelBase.dll) で初回の例外が発生しました: Microsoft C++ の例外: _com_erro... 2010.10.31 DirectXプログラミング
日記 プログラマ的ご飯のおかずに… この日記でコメントつけてくれましたしゅんぼーさんとご飯に行ってきました。 ご飯を食べながら、ライブラリの設計やその思想を語り合えたのは有意義でした。 パフォーマンス優先マルチプラットフォーム 単一プラットフォームマルチAPI という思想の違いでそれぞれの意見を交わせました。 DirectX10,11などで存在する機能(GS,DS,HS)に対するアクセスを、 ... 2010.10.21 日記
DirectX HW ShadowMapのために。 HW ShadowMapのために最近の状況をしらべてみました。 NVIDIA Geforce7x00くらいのころから搭載*1 テクスチャとしてUSAGE_DEPTHSTENCIL付きでD24S8フォーマットで作成可能 これをサンプリングするときに4近傍からの平均がとれてしまう。 AMD fetch4 X1800以外のX1xxxシリーズで使用可能 このとき、D... 2010.10.19 DirectXプログラミング
DirectX 低レベルなDirectX9 ドライバーの内部エラーについて、ここに記載がちょっとありました。 こんな仕組みになっているけど、デバイスの破棄および再生成で処理を復帰っていうことが、 果たしてどのくらい可能なんだろうか。ちょっと疑問に思います。 でも、IDirect3DDevice9::ValidateDevice というメソッドを DrawPrimitive系の直前に挿入して、 デバイス... 2010.10.15 DirectXプログラミング
DirectX Collada+DirectX 海外のサイトで、COLLADAとDirectXの話が書いてありました。 さらりと見てみましたが、COLLADA DOMとその中身にどうアクセスするか、 各種メッシュ(静的メッシュ、スキニングのような骨の親子構造を持つもの、モーフィング)の扱い方 これらについて丁寧に書いてありました。 ただし、英語で、ですが。ここに。→ ソースコードも同時に公開されているので... 2010.10.07 DirectXプログラミング
OpenGL GLSLのデバッグ GLSLをデバッグするのによいツールはないかと探してみたところ、 次のソフトウェアが見つかりました。 glslDevil shader maker これらについて書いてみます. ■ glslDevil 見た感じは、これが本命となりそうです。 手元で試してみたところ、OpenGLのAPIのトレースは行ってくれるのですが、 シェーダーのデバッグというのが行えませ... 2010.10.05 OpenGLプログラミング
プログラミング shlwapi関連の罠 ファイルパス操作関連のAPIで便利なshlwapiがあります。 しかし今回はこれの操作で思いの外、はまってしまった。通常CreateFile等では、ファイルパスに""の代わりに"/"が設定されてもファイルを開くことが出来きます。 しかしながら、shlwapi系では、""で設定されていないと正常に動作できないという。 当然ながら、ファイルパスの区切りは、""で... 2010.10.04 プログラミング
OpenGL glGetActiveUniformの挙動 -その2- 先日の日記に書いたglGetActiveUniformの件についての続報です。早速辞書順に並ばない結果を取得できてしまったので、 やはり名前アクセスしたいときには辞書順ソートを自前でいれておくべきです。 (ユーザーの勝手な)思いこみは危険。 2010.10.03 OpenGLプログラミング
DirectX D3DPOOL_MANAGEDのデータ保存先について D3DPOOL_MANAGEDについて。 どうやら生成元となったバイナリデータ列はユーザー空間に置かれる模様。そんな挙動のため、結局のところは使用メモリがどんどん増えていくように見える。 仮に256MBほどテクスチャがあったとすると、このフラグ付きで送った場合には結局メインメモリにも同じ容量だけメモリを使われていることになってしまう。 また先日作業用のメモリ... 2010.10.01 DirectXプログラミング