支持Direct3D 6.1钩着色器来代替EMBM
题
我写的DirectX 6.1 windows钩子。我想拦截的EMBM电话(环境映射凹凸贴图),并将数据传递到拥有凹凸着色器,所以应用程序,它依赖于EMBM将正常工作。唯一的问题是,DX 6.1不允许在所有着色器。我不能简单的用类从较新的SDK替换Direct3DDevice3,因为它的方法使用不同集合用我迷上DLL会崩溃的论点和应用。我不知道如何来解决办法通过。我不是在DirectX的那么好(也许有落实在DX 6.1凸点,将在现代硬件上工作更有效的方式?)也许可以查询在D3Device一些接口,它允许我使用着色器?
任何可能指向我正确的方向,将不胜感激。
解决方案
每个直接3D设备直接自IUnknown派生所以没有你不能QI从V6设备到设备V9
你可以做你想做的(上述驱动级)的唯一方法是实现整个V6设备和翻译他们的V9等价物的所有呼叫。当然,你再有一个问题,如果游戏通过V7实现embm或V8 ...
不隶属于 StackOverflow