Kód: Vybrať všetko
Introduction
D’ici très peu de temps maintenant les premiers GPU Graphical Processing Unit, unité de traitement graphique. Within a very short time now the first GPU Graphical Processing Unit, graphics processing unit. Terme utilisé pour désigner les puces 3D.... Direct3D 10 devraient faire leur apparition, nous avons donc pensé qu’il était temps de nous attarder sur les nouveautés offertes par cette API (Application Programming Interface) Interface de programmation. The term used to designate the 3D chips .... Direct3D 10 should start to appear, so we thought it was time we dwell on the new offerings from the Application Program Interface (API) programming interface. Une API fournit une abstraction permettant à deux briques logicielles de communiquer. An API provides an abstraction allowing two building blocks of communicating. ... qui est la première remise à plat complète initiée par Microsoft depuis son introduction il ya maintenant 10 ans. ... Which is the first complete rethinking initiated by Microsoft since its introduction there are now 10 years old.
Dans un premier temps l’API Direct3D a pris modèle sur sa grande sœur OpenGL, qui pouvait bénéficier de toute l’expertise et l’expérience de SGI (Silicon Graphics) dans le domaine, et a tenté d’implémenter le pipeline Un pipeline est une succession d'opérations matérielles ou logicielles. As a first step Direct3D API model took on his big sister OpenGL, which could benefit from the expertise and experience of SGI (Silicon Graphics) in the area, and attempted to implement the pipeline is a pipeline a succession of hardware and software operations. Les différents étages du pipeline sont connectés en série : la sortie d'un éta... OpenGL dans son intégralité. The various stages of the pipeline are connected in series: the release of a residen ... OpenGL in its entirety. Alors que les premiers GPU se contentaient du rendu, ils ont ensuite évolué pour intégrer une plus grande partie du pipeline 3D notamment le setup engine Unité d'un GPU se situant au milieu du pipeline 3D et effectuant le lien entre les données sortant des vertex shaders et les données entrant dans les ... et finalement le fameux Transform & Lighing . While the former merely GPU rendering, they then evolved to include a larger portion of the pipeline 3D engine including the setup of a GPU unit was in the middle of the pipeline 3D and making the link between the output of vertex shaders and the data coming in ... and finally the famous Transform & Lighing. Direct3D a donc évolué au fil des versions pour prendre en compte ces modifications ainsi que bien d’autres. Direct3D has evolved over the versions to accommodate these changes as well as many others.
But once the pipeline fully integrated rendering, a inflection point has been reached, he therefore had to start thinking about the future of 3D for not being wrong direction. Le résultat fut à la hauteur des attentes vu qu’il a donné naissance aux shaders Programme exécuté sur chaque primitive et permettant d'adapter une partie du rendu à ses besoins. The result was up to expectations since it gave birth to the shaders Programme run on each primitive and for adapting a portion of the record to its needs. Les shaders étaient typiquement écrits dans un langa... , ces petits programmes qui permettent d’adapter le fonctionnement du GPU en fonction des besoins. The shaders were typically written in a language ..., these small programs that allow for the operation of the GPU as needed. Après 3 années d’évolutions rapides (cf notre article ) les shaders sont arrivés à une certaine maturité et il est apparu évident qu’ils devaient occuper une position prépondérante au sein des futures API. After 3 years of rapid developments (see our article) shaders reached a certain maturity and it became clear that they had occupied a prominent position in the future API.
Les objectifs de Direct3D peuvent donc se résumer en 3 points : The objectives of Direct3D can be summed up by 3 points:
* Optimiser la performance : Direct3D 9 avait un surcoût CPU trop important, la nouvelle API devait réduire cet impact sur le CPU afin que les jeux ne soient pas artificiellement limités par le CPU. Optimize performance: Direct3D 9 had an additional CPU too large, the new API should reduce this impact on the CPU so that the games should not be artificially limited by the CPU.
* Rationaliser les fonctionnalités : Depuis sa création il ya 10 ans Direct 3D a énormément évolué, de même que les GPU mais par souci de rétrocompatibilité toutes les fonctionnalités devenues obsolètes depuis bien longtemps sont toujours présentes. Streamlining features: Since its inception 10 years ago Direct 3D has changed enormously, as well as the GPU but for the sake of backwards compatibility all the features become obsolete long ago are still present. La nouvelle API devait donc être orthogonale c’est-à-dire n’offrir qu’une façon d’arriver à un résultat donné : la meilleure. The new API should therefore be orthogonal ie offer only one way to achieve a particular result: the best.
* Imposer des règles strictes sur les fonctionnalités : Un des problèmes les plus handicapants pour un développeur a longtemps été les différences de comportement entre les différents GPU sur certaines fonctionnalités, voire même la différence de fonctionnalités tout court. Impose strict rules on the features: One of the most disabling for a developer has long been the differences in behavior between different GPU on certain functions, and even features unlike any court. Ils ont donc du apprendre à jouer avec les caps bits de DirectX et les extensions d’OpenGL pour arriver à leurs fins. So they learned to play with caps bits of DirectX and OpenGL extensions to achieve their goals. La nouvelle API devait donc garantir un jeu de fonctionnalités fixe que tous les GPU devraient intégrer dans son intégralité. The new API should therefore guarantee a fixed set of features that all GPU should integrate in its entirety.
La contrepartie de ces choix radicaux est qu’il est désormais impossible d’offrir des drivers Module logiciel nécessaire à un système d'exploitation pour gérer un périphérique ou un matériel particulier. The consideration of these choices radicals is that it is now impossible to provide necessary software drivers Module to an operating system to manage a device or equipment. Le pilote est un module logiciel qui ... compatibles Direct3D 10 pour un GPU DirectX 9. The pilot is a software module that ... compatible Direct3D 10 for a GPU DirectX 9. Comme nous l’avons vu plus haut la nouvelle API n’hésite pas à briser la rétrocompatibilité et un jeu Direct3D 10 ne tournera donc que sur une carte Direct3D 10 . As we saw above the new API does not hesitate to break the game backwards and Direct3D 10 that would turn on a map Direct3D 10. Notons que ça ne change pas fondamentalement les choses pour les joueurs : jusqu’ici un GPU DirectX 8 pouvait certes utiliser les interfaces DirectX 9 mais si un jeu faisait appel à des fonctions spécifiques à cette API il fallait de toute façon que le développeur ait prévu un code path adapté aux GPU DirectX 8. Note that it does not fundamentally change things for the players: a hitherto GPU DirectX 8 could certainly use the DirectX 9 interfaces, but if a game called for specific functions for this API should be in any case that the developer has not provided a code path suited to GPU DirectX 8. Avec la nouvelle API, vu que les jeux exclusivement DirectX 10 ne sont pas prêts d’arriver, les développeurs devront donc développer deux exécutables différents : l’un utilisant les bibliothèques DirectX 9, l’autre DirectX 10. With the new API, since the games exclusively DirectX 10 will never happen, developers will have to develop two different executable: one using libraries DirectX 9, the other DirectX 10. En clair il s’agit donc plus d’un casse tête supplémentaire pour les développeurs que pour les joueurs qui devraient bénéficier de versions DirectX 9 de leurs jeux favoris pendant encore longtemps, le temps que Vista et les cartes Direct3D 10 se généralisent. Clearly there is more than one additional puzzle for developers and for the players who should benefit from DirectX 9 versions of their favorite games for a long time, the time that Vista and Direct3D 10 cards are becoming widespread.co na to?