Ganci per Direct3D 6.1 per sostituire EMBM shader
Domanda
Vi scrivo di Windows Ganci per DirectX 6.1. Voglio intercettare le chiamate di EMBM (Ambiente Mapped Bump Mapping) e passare i dati al proprio urto dello shader, quindi applicazione che dipendono EMBM funziona correttamente. L'unico problema è che DX 6.1 non consentono a tutti gli shader. Non semplice può sostituire Direct3DDevice3 con classe dalla più recente SDK, perché è metodi utilizza diverse serie di argomenti e di applicazioni che utilizzano andrà in crash il mio dll agganciato. Non so come soluzione alternativa attraverso. Io non sono così bravo a DirectX (forse c'è modo più efficace per implementare urto nella DX 6.1 che funziona su hardware moderno?) Forse è possibile interrogare un po 'interfaccia D3Device che mi permetterà di utilizzare shaders?
Tutto ciò che mi potrebbe punto nella giusta direzione sarebbe molto apprezzato.
Soluzione
Ogni dispositivo Direct 3D deriva direttamente da IUnknown quindi non si può non QI da un dispositivo a un dispositivo v6 v9.
L'unico modo che si può fare ciò che si vuole (sopra il livello del conducente) è quello di attuare l'intero dispositivo v6 e tradurre tutte le chiamate ai loro equivalenti V9. Naturalmente allora avete un problema se il gioco EMBM implementa tramite v7 o v8 ...