DirectX シェーダーリフレクション [DirectX10] シェーダーの中身がどのようなものが詰まっているかを取得するための方法です。 なかなか情報がなくて大変でした。 やりたいこととしては、シェーダーのバイナリファイルから どのような変数およびデータ型がどの位置に存在するのかと知る方法となります。D3DX9には存在していたID3DXConstantTableのようなものを D3D10ではどうやるかという感じになるで... 2010.09.26 DirectXプログラミング
OpenGL レンダーバッファとレンダーテクスチャ Framebuffer Objectで設定するレンダーバッファとレンダーテクスチャについて。どこかの記載で、レンダーバッファのほうがレンダーテクスチャよりも 高速に動く余地があるということが書いてあった。 これは以前の日記でも書いたとおり。ここでFBOにはレンダーテクスチャとレンダーバッファとそれぞれ設定するための関数が用意されているが、 同時に設定したらど... 2010.09.19 OpenGLプログラミング
OpenGL FramebufferObject挙動違い -その3- 今回は今までの総合しての解決編になります。 デプスとステンシルを1つのテクスチャでOKとし、 さらにNVIDIAとAMDと双方で問題なく動く、という解法になります。 ■実装コード やはりテクスチャの作成がポイントでした。 glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH24_STENCIL8_EXT, TEXTURE_WIDT... 2010.09.18 OpenGLプログラミング
OpenGL FramebufferObject挙動違い -その2- AMD製グラフィックボード時でも正常動作できる組み合わせを発見しました。テクスチャの生成時がポイントです。 ■解決方法(AMDオンリー) glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT16, TEXTURE_WIDTH, TEXTURE_HEIGHT, 0, GL_DEPTH_COMPONENT, GL_... 2010.09.17 OpenGLプログラミング
OpenGL FramebufferObject挙動違い NVIDIAとAMD*1でFramebufferObject使用時に若干動作が異なる模様です。 *1 : ATIブランドを廃止して、AMDになっていくとのことなので、今後AMD製RADEONと表記したりすることにします ■発生現象 NVIDIA製グラフィックボード時は、デプステクスチャをセット時にでも デプス判定を行って描画することができる。 しかしながら、... 2010.09.16 OpenGLプログラミング
DirectX DirectX vs OpenGL テクスチャ編 DirectXとOpenGLとでテクスチャに関していろいろと違うので ここでそれらについて書いてみたいと思います。 ■用語 DirectXでは、テクスチャアドレッシングモードとテクスチャラッピングモードがあります。 OpenGLでは、テクスチャラッピングモード だけです。 しかも両者でそれぞれの言葉が意味しているものがずれており、 DirectX::アドレッ... 2010.09.15 DirectXOpenGLプログラミング
DirectX 続・ATIドライバの謎? Direct3D9: (INFO) :Failed to create driver indexbuffer を調べてみた。 海外のForumでは割とよくあがっている話っぽい。このメッセージが意味するところは、 IndexBufferをVRAM上に作るときに、VRAM上に作れなかった、という話になるっぽい。 あとは、ドライバがハードウェアのインデックスバッフ... 2010.09.13 DirectXプログラミング
DirectX ATIドライバの謎? DirectX編 Direct3D9: (INFO) :Failed to create driver indexbuffer なんていう警告メッセージが表示される。 これってなんだろう・・・。 この警告が出ても実際のリソースとしてはインデックスバッファ作成されているし。 謎です。 2010.09.12 DirectXプログラミング
DirectX RADEON vs Geforce (誤爆) DirectX使っていて、これほどまでに差異があるのかとびっくりしました。 NVIDIAのグラフィックボード(Geforce)を搭載しているときにはポリゴンが表示されるのに、 ATIのグラフィックボード(RADEON)を搭載しているときにはポリゴンが表示されないという結果が出ました。今までもATIで、絵がおかしいということはありましたが、 ポリゴン丸ごとでな... 2010.09.07 DirectXプログラミング
DirectX D3D10始めました -第3回 Texture使用- 今回はテクスチャを読み込んで表示させてみます。 ■シェーダーファイル まずはシェーダーのソースを示します。 従来のシェーダーと変わったところと言えば、ピクセルシェーダー内の サンプラーおよびテクスチャのアクセス部分です。 対象とするテクスチャからのサンプルを、どのように行うか(サンプラ)、どの位置からとるか(UV)という意味のコードになっているように読み取れ... 2010.09.03 DirectX