DirectX 6.1 用の Windows フックを作成しています。EMBM (Environment Mapped Bump Mapping) の呼び出しを傍受し、データを独自のバンプ シェーダーに渡したいので、EMBM に依存するアプリケーションは正しく動作します。唯一の問題は、DX 6.1 ではシェーダーがまったく許可されないことです。Direct3DDevice3 を新しい SDK のクラスに単純に置き換えることはできません。これは、メソッドが異なる引数のセットを使用し、フックされた dll を使用するアプリケーションがクラッシュするためです。回避方法がわかりません。私は DirectX があまり得意ではありません (最新のハードウェアで動作する DX 6.1 でバンプを実装するためのより効果的な方法があるかもしれません)。シェーダーを使用できるようにする D3Device のインターフェイスを照会することは可能でしょうか?
私を正しい方向に向けることができるものは何でも大歓迎です。