Pergunta

Estou escrevendo ganchos do Windows para o DirectX 6.1. Quero interceptar chamadas para EMBM (Mapeamento de Bump Mapped Environment) e passar os dados para o próprio shader Bump, portanto, a aplicação que depende do EMBM funcionará corretamente. O único problema é que o DX 6.1 não permite shaders. Não posso substituir simples o Direct3DDevice3 pela classe do SDK mais recente, porque seus métodos usam diferentes conjuntos de argumentos e aplicação que usam minha DLL de falha. Eu não sei como alternar a solução. Não sou tão bom no DirectX (talvez exista uma maneira mais eficaz de implementar o Bump no DX 6.1 que funcione no hardware moderno?) Talvez seja possível consultar alguma interface no D3Device que me permitirá usar shaders?

Qualquer coisa que pudesse me apontar na direção certa seria muito apreciada.

Foi útil?

Solução

Cada dispositivo 3D direto deriva diretamente de Iunknown, para que não você não possa qi de um dispositivo V6 para um dispositivo V9.

A única maneira de fazer o que deseja (acima do nível do driver) é implementar todo o dispositivo V6 e traduzir todas as chamadas para seus equivalentes V9. Claro que você então tem um problema se o jogo implementar o EMBM via V7 ou V8 ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top