Frage

Ich schreibe Windows Hooks für DirectX 6.1. Ich möchte Forderungen nach EMBM (Umgebungskartier -Bump -Mapping) abfangen und die Daten an Bump Shader übergeben. Die Anwendung, die von EMBM abhängt, funktioniert korrekt. Das einzige Problem ist, dass DX 6.1 Shader überhaupt nicht erlaubt. Ich kann Direct3DDevice3 nicht einfach durch die Klasse aus neueren SDK ersetzen, da die Methoden verschiedene Argumente und Anwendungen verwenden, die meine Haken -DLL verwenden. Ich weiß nicht, wie man durchgehungst. Ich bin nicht so gut in DirectX (vielleicht gibt es eine effektivere Möglichkeit, eine Beule in DX 6.1 zu implementieren, die auf moderner Hardware funktioniert?) Vielleicht ist es möglich, eine Schnittstelle in D3Device abzufragen, die es mir ermöglicht, Shader zu verwenden?

Alles, was mich in die richtige Richtung verweisen könnte, wäre sehr geschätzt.

War es hilfreich?

Lösung

Jedes direkte 3D -Gerät stammt direkt von iUnUnNown, sodass Sie nicht von einem V6 -Gerät von einem V6 -Gerät zu einem V9 -Gerät qi können.

Die einzige Möglichkeit, das zu tun, was Sie möchten (über dem Treiberebene), besteht darin, das gesamte V6 -Gerät zu implementieren und alle Anrufe in ihre V9 -Äquivalente zu übersetzen. Natürlich haben Sie dann ein Problem, wenn das Spiel Embm über V7 oder V8 implementiert ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top