A documentação do SDK possui uma seção sobre migração para 11, que abrange os 9 e 10. Há também a página de recursos do D3D11 .
Uma das maiores mudanças em termos de formato da API entre 10 e 11 é que o 11 move ID3D11DeviceContext
vários métodos do próprio dispositivo para uma nova interface chamada contexto do dispositivo ( especificamente), a fim de suportar os novos recursos de multiencadeamento.
Uma vez que você está ciente da mudança, é bem fácil se adaptar: onde você chamaria "10" em 10 someDevice->Draw()
", você obterá o contexto imediato para o dispositivo e ligará " immediateContext->Draw()
. "
A outra grande mudança é que a API de efeitos é retirada do núcleo e feita uma distribuição de origem independente, que você deve compilar e vincular. Você também pode observar algumas interfaces e funções do D3DX que foram preteridas ou removidas.
Além disso, existem alguns parâmetros novos para algumas funções e alguns campos extras nas estruturas, etc. Por exemplo, o objeto de descrição do buffer em 11 possui um StructureByteStride
campo extra que não está em 10 e a criação do dispositivo envolve a transmissão de informações no nível do recurso . Além disso, existem as mudanças óbvias e mencionadas nos nomes de interface (10s substituídos por 11s).