Ce qui a motivé Vulkan, c'est d'une part l'architecture globale d'OpenGL : une machine a états opaque, c'était sans doute bien au début des années 90, ça ne l'est plus du tout aujourd'hui. Et d'autre part les architectures parallèles : faire de l'OpenGL sur plusieurs threads, c'est quasiment impossible, et c'est pas fait pour ça.
Après, l'origine de Vulkan, c'est... Mesa. Et en particulier Gallium3D qui proposait une API très bas niveau pour l'abstraction des cartes graphiques sur laquelle venait se brancher les API haut niveau (OpenGL) via un state tracker. AMD a proposé une API de même niveau et reprenant les mêmes concepts (Mantle) et c'est ce qui a servi de base à Vulkan. Pendant ce temps, MS faisait de même de son côté avec Direct3D 12.
Les shaders sont présents dans OpenGL (et OpenGL ES) depuis plus de 15 ans maintenant je pense (GLSL 1 c'est 2004 dans OpenGL 2).
[^] # Re: OpenGL
Posté par rewind (Mastodon) . En réponse à la dépêche Le rendu 3D, rétrospective. Évalué à 10.
Ce qui a motivé Vulkan, c'est d'une part l'architecture globale d'OpenGL : une machine a états opaque, c'était sans doute bien au début des années 90, ça ne l'est plus du tout aujourd'hui. Et d'autre part les architectures parallèles : faire de l'OpenGL sur plusieurs threads, c'est quasiment impossible, et c'est pas fait pour ça.
Après, l'origine de Vulkan, c'est... Mesa. Et en particulier Gallium3D qui proposait une API très bas niveau pour l'abstraction des cartes graphiques sur laquelle venait se brancher les API haut niveau (OpenGL) via un state tracker. AMD a proposé une API de même niveau et reprenant les mêmes concepts (Mantle) et c'est ce qui a servi de base à Vulkan. Pendant ce temps, MS faisait de même de son côté avec Direct3D 12.
Les shaders sont présents dans OpenGL (et OpenGL ES) depuis plus de 15 ans maintenant je pense (GLSL 1 c'est 2004 dans OpenGL 2).