Pregunta

Le escribo de Windows Ganchos para DirectX 6.1. Quiero interceptar llamadas para EMBM (ambiente trazado Bump Mapping) y pasar los datos a la propiedad shader bump, por lo que dependen de la aplicación que EMBM funcionará correctamente. El único problema es que DX 6.1 no permiten shaders en absoluto. No puedo reemplazar sencilla Direct3DDevice3 con la clase de nuevo SDK, porque es utiliza métodos diferentes conjuntos de argumentos y aplicación que utiliza mi DLL de gancho se bloqueará. No sé cómo Solución del problema a través. No soy tan bueno en DirectX (tal vez hay manera más eficaz para implementar bache en DX 6.1 que va a funcionar en el hardware moderno?) Tal vez es posible consultar alguna de las interfaces en D3Device que me permite utilizar shaders?

Cualquier cosa que me podría apuntar en la dirección correcta sería muy apreciada.

¿Fue útil?

Solución

Cada dispositivo Direct 3D se deriva directamente de IUnknown por lo que no se puede no QI desde un dispositivo v6 a un dispositivo v9.

La única manera que puede hacer lo que quiere (sobre el nivel del controlador) es poner en práctica todo el dispositivo v6 y traducir todas las llamadas a sus equivalentes v9. Por supuesto que entonces tiene un problema si el juego implementa a través de EMBM v7 o v8 ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top