ACTU
Quart de siècle + point
par CBL,
email @CBL_Factor
Hier, on a fêté un anniversaire très très geek : les 25 ans de DirectX 8, qui est probablement la version la plus importante de l'API. Jusqu'à DX8, chaque itération a ajouté des fonctionnalités majeures, mais celles-ci étaient implémentées en dur par Nvidia, ATI et 3dfx. Les développeurs étaient limités à ce que le silicium proposait. À partir de DirectX 8, les cartes graphiques sont devenues programmables via l'introduction des shaders. Ces petits programmes permettaient au départ de modifier le rendu pour ajouter toutes sortes d'effets en bougeant les sommets des modèles 3D et en changeant la couleur des pixels après la rastérisation. Les GeForce 3 de Nvidia (en photo) ont été les premières à supporter DX8 suivies des Radeon 8000 d'ATI.
Les développeurs n'étaient alors plus limités par des fonctions programmées en dur dans les cartes graphiques mais par la vitesse à laquelle elles pouvaient calculer ces shaders. Au départ, ces derniers étaient codés en assembleur et reposaient sur un jeu d'instructions (ou shader model) assez limité. Mais rapidement, les développeurs ont pu utiliser un langage proche du C et le jeu d'instructions s'est largement étendu. Initialement, l'exécution des shaders constituait une étape de plus dans le pipeline de rendu mais progressivement, ces programmes ont supplanté les étapes de rendu traditionnelles. Typiquement, un matériau (ce qui donne les couleurs d'un objet 3D) dans un moteur comme Unreal est en réalité composé d'une tonne de shaders. La dernière évolution de la technologie, ce sont les compute shaders qui permettent d'effectuer des calculs généralistes en dehors même du pipeline de rendu.
Les développeurs n'étaient alors plus limités par des fonctions programmées en dur dans les cartes graphiques mais par la vitesse à laquelle elles pouvaient calculer ces shaders. Au départ, ces derniers étaient codés en assembleur et reposaient sur un jeu d'instructions (ou shader model) assez limité. Mais rapidement, les développeurs ont pu utiliser un langage proche du C et le jeu d'instructions s'est largement étendu. Initialement, l'exécution des shaders constituait une étape de plus dans le pipeline de rendu mais progressivement, ces programmes ont supplanté les étapes de rendu traditionnelles. Typiquement, un matériau (ce qui donne les couleurs d'un objet 3D) dans un moteur comme Unreal est en réalité composé d'une tonne de shaders. La dernière évolution de la technologie, ce sont les compute shaders qui permettent d'effectuer des calculs généralistes en dehors même du pipeline de rendu.