Nouveautés de la version préliminaire de la version d’évaluation de la technologie Direct3D 11 de novembre 2008
Cette version de Direct3D 11 contient de nouvelles fonctionnalités, des outils et de la documentation.
| Élément | Description |
|---|---|
| Mosaïque |
Direct3D 11 fournit des étapes de pipeline supplémentaires pour prendre en charge le pavage en temps réel des primitives d’ordre élevé. Avec des fonctionnalités largement programmables, cette fonctionnalité permet d’évaluer de nombreuses méthodes différentes pour l’évaluation des surfaces de grande ordre, y compris des surfaces de compartimentage à l’aide de techniques de rapprochement, de mises à l’échelle de Bézier, de pavage adaptative et de mappage de déplacement. Cette fonctionnalité n’est disponible que sur le matériel Direct3D 11-Class. ainsi, pour évaluer cette fonctionnalité, vous devrez utiliser le rastériseur de référence. Pour une démonstration de la pavage en action, consultez l’exemple SubD11 disponible dans l’exemple de navigateur. |
| Nuanceur de calcul |
Le nuanceur de calcul est une étape supplémentaire indépendante du pipeline Direct3D 11 qui permet l’informatique à usage général sur le GPU. En plus de toutes les fonctionnalités de nuanceur fournies par le noyau de nuanceur unifié, le nuanceur de calcul prend également en charge les lectures et écritures éparpillées dans les ressources par le biais de vues d’accès non ordonnées, d’un pool de mémoire partagé au sein d’un groupe de threads en cours d’exécution, de primitives de synchronisation, d’opérateurs atomiques et de nombreuses autres Une variante du nuanceur de calcul Direct3D 11 a été activée dans cette version qui peut fonctionner sur du matériel Direct3D 10. Il est donc possible de développer des nuanceurs de calcul sur le matériel réel, mais un pilote mis à jour est requis. Les fonctionnalités complètes du nuanceur de calcul Direct3D 11 sont destinées à la prise en charge du matériel Direct3D 11-Class. ainsi, pour évaluer la fonctionnalité complète, vous devez utiliser le rastériseur de référence jusqu’à ce que ce matériel soit disponible. Pour une démonstration du nuanceur de calcul en action, consultez l’exemple HDRToneMappingCS11 disponible dans l’exemple de navigateur. |
| Rendu multithread |
La différence d’API clé par rapport à Direct3D 10 dans Direct3D 11 est l’ajout de contextes différés, ce qui permet une exécution évolutive des commandes Direct3D distribuées sur plusieurs cœurs. Un contexte différé capture et assemble des actions telles que des modifications d’État et dessine des soumissions qui peuvent être exécutées ultérieurement sur le périphérique réel. En utilisant des contextes différés sur plusieurs threads, une application peut distribuer la charge de l’UC nécessaire dans le runtime Direct3D11 et le pilote à plusieurs cœurs, ce qui permet une meilleure utilisation de la configuration de l’ordinateur d’un utilisateur final. Cette fonctionnalité est disponible pour une utilisation sur le matériel Direct3D 10 actuel, ainsi que sur le rastériseur de référence. Pour une démonstration de l’utilisation des API, consultez l’exemple MultithreadedRendering11 disponible par le biais de l’exemple de navigateur. |
| Liaison de nuanceur dynamique |
Pour résoudre le problème d’explosion combinatoire observé dans spécialisation des nuanceurs pour des performances optimales, Direct3D 11 introduit une forme limitée de liaison de nuanceur d’exécution qui permet une spécialisation de nuanceur presque optimale pendant l’exécution d’une application. Pour cela, vous devez spécifier les implémentations de fonctions spécifiques dans le code du nuanceur lorsque le nuanceur est affecté au pipeline, ce qui permet au pilote d’incorporer rapidement des instructions de nuanceur natives plutôt que de forcer le pilote à recompiler le langage intermédiaire en instructions natives avec la nouvelle configuration. Le développement d’un nuanceur est exposé via l’introduction de classes et d’interfaces au langage HLSL. Pour obtenir une démonstration, consultez l’exemple de lien de nuanceur dynamique 11 disponible dans l’exemple de navigateur. |
| Windows Rastériseur avancé (WARP) |
Disponible dans ce kit de développement logiciel (SDK) via Direct3D 11 et, par ailleurs, par le biais de Direct3D 10,1, WARP est un rastériseur de mise à l’échelle rapide et multicœur entièrement compatible avec Direct3D 10,1. L’utilisation de cette technologie est aussi simple que le passage de l’indicateur D3D_DRIVER_TYPE_WARP dans la création de votre appareil. |
| Direct3D 10 et Direct3D 11 sur le matériel Direct3D 9 (D3D10 niveau 9) |
Disponible dans ce kit de développement logiciel (SDK) via Direct3D 11 et finalement par le biais de Direct3D 10,1, l’API Direct3D peut cibler le matériel Direct3D 9 ainsi que le matériel Direct3D 10, Direct3D 10,1 et Direct3D 11. Pour ce faire, vous devez fournir le mécanisme de niveau de fonctionnalité, qui regroupe le matériel en six catégories, en fonction de la fonctionnalité : 9_1, 9_2, 9_3, 10_0, 10_1 et 11_0. Une carte ne répond à un niveau de fonctionnalité que si elle est entièrement conforme à ce niveau, et chaque niveau est un super-ensemble strict de ceux qui se trouvent en dessous. La fonctionnalité est émulée au minimum pour s’assurer qu’aucune falaise de performances inattendue n’a été rencontrée. Ainsi, les fonctionnalités telles que les nuanceurs Geometry ne sont pas disponibles pour les cibles de niveau Direct3D 9. |
| Fichiers binaires du Runtime |
tous les fichiers binaires d’exécution fournis dans la version préliminaire de Direct3D 11 tech preview qui seront disponibles sur Windows 7 et Windows Vista SP1 sont installés avec le kit de développement logiciel (SDK) et sont étiquetés en tant que composants « bêta » (c’est-à-dire D3D11_beta.DLL). Tous les composants étiquetés bêta sont imprécisés. Pour créer des projets afin d’évaluer ces nouveaux composants, vous devez créer un lien vers leurs bibliothèques d’importation nommées bêta équivalentes (par exemple, D3D11_beta. lib). si vous disposez d’une copie PDC de Windows 7, les en-têtes, bibliothèques et fichiers pdb fournis dans le SDK Windows avec la build sont appropriés au développement à l’aide des composants Direct3D 11 fournis dans Windows 7. Veuillez réserver l’utilisation des en-têtes, des bibliothèques et des fichiers PDB dans ce kit de développement logiciel (SDK) aux composants bêta fournis dans le présent document. |
| D3DX11 |
D3DX11 prend actuellement en charge le chargement de texture, la compilation de nuanceur, le chargement de données et les fonctions de thread de travail pour les ressources Direct3D 11. À l’avenir, ce composant fournira plus de technologies disponibles dans D3DX10. La fonctionnalité de compilation de nuanceur est également fournie directement par le biais du composant compilateur Direct3D, décrite ci-après. |
| Compilateur HLSL et Direct3D |
Le compilateur HLSL propose plusieurs nouvelles fonctionnalités pour prendre en charge les nouvelles technologies disponibles dans Direct3D 11. Cela comprend la programmation orientée objet via des interfaces et des classes, une syntaxe d’indexation directe pour les chargements de ressources et le mot clé « precise » pour s’assurer que toutes les opérations effectuées avec une variable spécifique adhèrent aux règles à virgule flottante strictes. Presque toutes les nouvelles fonctionnalités linguistiques ont des fonctionnalités valides sur les cibles de nuanceur existantes. Outre la prise en charge de tous les nuanceurs Direct3D 9, Direct3D 10, Direct3D 10,1 et Direct3D 11, le compilateur HLSL prend également en charge les cibles spéciales nécessaires pour écrire des nuanceurs pour les cibles Direct3D 10 de niveau 9. Le compilateur D3D est maintenant directement accessible en dehors de D3DX10 et D3DX11 par le biais de D3DCompiler. H et D3DCompiler. lib. Avec ces nouveaux fichiers, une application n’est pas obligée de lier à D3DX pour effectuer la compilation du runtime, et une application n’est pas tenue d’inclure le compilateur si seules les fonctionnalités D3DX sont nécessaires. |
| Rastériseur de référence D3D11 |
Le rastériseur de référence fournit une implémentation de pixellisation standard Gold pour l’évaluation des fonctionnalités Direct3D 11 qui ne sont pas encore disponibles dans le matériel. Le rastériseur de référence est également fourni comme un moyen de vérifier l’exactitude d’une implémentation matérielle spécifique à la norme de pixellisation. Le rastériseur de référence est conçu pour l’exactitude, et non pour les performances. Pour créer un appareil de référence, transmettez simplement l’indicateur D3D_DRIVER_TYPE_REFERENCE lors de la création de l’appareil. |
| Couches du SDK D3D11 |
Les couches du kit de développement logiciel (SDK) Direct3D11 fournissent un mécanisme de suivi du fonctionnement du runtime Direct3D 11 pendant le développement. Actuellement, il est utilisé pour fournir des informations de débogage utiles, ce qui n’inclut pas seulement les erreurs d’utilisation incorrecte, mais également les avertissements qui recommandent l’utilisation des meilleures pratiques du runtime et fournissent souvent des informations détaillées utiles pour le débogage. il est vivement recommandé que la sortie de débogage des couches du kit de développement logiciel D3D11 soit activée à tout moment pendant le développement et qu’une application ne génère aucune sortie de débogage pendant l’exécution avant qu’elle soit libérée ou utilisée avec PIX pour Windows pour le profilage. L’activation de la couche de débogage est aussi simple que le passage de l’indicateur D3D11_CREATE_DEVICE_DEBUG lors de la création de l’appareil. Les développeurs sont vivement encouragés à utiliser des couches dans les versions Debug. Les couches ne sont pas recommandées pour une utilisation dans les builds de profil ou de version. |
| Nouveaux exemples |
Cette version comporte quatre nouveaux exemples.
|