質問

私は、DirectX 6.1のWindowsフックを書いています。私はEMBMのための呼び出しをインターセプトしたい(環境バンプマッピングマッピングされた)とシェーダをバンプ所有するデータを渡し、そのEMBMに依存したアプリケーションが正常に動作します。唯一の問題は、DX 6.1は、すべてのシェーダを許可しないことです。それは方法が私のフックDLLがクラッシュする使用引数やアプリケーションの異なるセットを使用しますので、私は、新しいSDKからクラスにDirect3DDevice3に代わるものではありませシンプルなことができます。私は通じ回避する方法がわかりません。私はDirectXのではあまり良くないです(多分、最新のハードウェア上で動作しますDX 6.1でのバンプを実装するために、より効果的な方法はありますか?)多分私がシェーダーを使用できるようになりますD3Deviceでいくつかのインターフェイスを照会することは可能でしょうか?

正しい方向に私を指すことができたものははるかに高く評価されるだろう。

役に立ちましたか?

解決

それぞれの直接3Dデバイスは、V9デバイスにv6のデバイスからありませんので、あなたがすることはできませんQIのIUnknownから直接派生します。

あなたは(ドライバレベルより上)やりたいことができる唯一の方法は、全体v6のデバイスを実装し、そのV9同等物へのすべてのコールを翻訳することです。ゲームはV7を経由してembmを実装している場合もちろん、あなたがその問題を持っているか、V8 ...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top