我正在为 DirectX 6.1 编写 Windows Hooks。我想拦截对 EMBM(环境映射凹凸映射)的调用并将数据传递给自己的凹凸着色器,因此依赖于 EMBM 的应用程序将正常工作。唯一的问题是 DX 6.1 根本不允许着色器。我不能简单地用较新的 SDK 中的类替换 Direct3DDevice3,因为它的方法使用不同的参数集,使用我的钩子 dll 的应用程序会崩溃。我不知道如何解决。我不太擅长 DirectX(也许有更有效的方法可以在 DX 6.1 中实现适用于现代硬件的凹凸?)也许可以在 D3Device 中查询一些允许我使用着色器的接口?
任何可以为我指明正确方向的事情都将不胜感激。