La documentación del SDK tiene una sección sobre la migración a 11 que cubre tanto de 9 como de 10. También está la página de características de D3D11 .
Uno de los cambios más importantes en términos de forma de API entre 10 y 11 es que 11 mueve un montón de métodos desde el propio dispositivo a una nueva interfaz llamada contexto del dispositivo ( ID3D11DeviceContext
específicamente), para admitir las nuevas características de subprocesamiento múltiple.
Sin embargo, una vez que esté al tanto del cambio, es bastante fácil adaptarse a: donde lo habría hecho en 10 llamado " someDevice->Draw()
" en su lugar obtendrá el contexto inmediato para el dispositivo y llamará " immediateContext->Draw()
.
El otro gran cambio es que la API de efectos se extrae del núcleo y se hace una distribución fuente independiente que debe compilar y vincular. También puede observar algunas interfaces y funciones de D3DX que se han desaprobado o eliminado.
Más allá de eso, hay un puñado de nuevos parámetros para algunas funciones y un puñado de campos adicionales en estructuras, etc. Por ejemplo, el objeto de descripción del búfer en 11 tiene un StructureByteStride
campo adicional que no está en 10 , y la creación del dispositivo implica pasar información de nivel de característica . Además, existen los cambios obvios y mencionados en los nombres de las interfaces (10 reemplazados por 11).