D'après ce que j'ai pu lire a droite et a gauche, peu sont les développeurs a coder directement en DirectX ou OpenGL. Les développeurs utilisent désormais des moteurs 3D tout fait (voir OGRE, Crystal Space...) [...]
Oui, cela dit :
1/ Encore faut-il que le moteur supporte les deux APIs ; c'est malheureusement loin d'être le cas de la plupart des ténors actuels, en négligeant les moteurs d'ID Software. Par exemple, tant l'Unreal Engine 3 que le CryEngine supportent uniquement la trinité PC (D3D 9/10), XBox 360 (D3D 9.0c«++») et PS3 (libGCM).
2/ Pire, il faut bien que les développeurs et artistes écrivent des shaders ; et là, ils ont le choix entre HLSL et GLSL, tous deux spécifiques à une API, ou Cg, un langage propriétaire à NVidia compilant au choix vers l'un des deux précédents ou d'être utilisé sur la PS3. Je ne sais pas du tout quel est le plus répandu, je suppose que Cg doit être assez apprécié pour sa portabilité. En bref, l'abstraction qu'apporte le moteur 3D est un peu brisée par le choix du langage de shading, si on veut se restreindre aux technologies libres.
[Il est vrai que certains moteurs apportent leur propre cadre (parfois sous forme graphique) pour l'écriture de shaders.]
[^] # Re: Merci pour ces éclaircissements
Posté par auve . En réponse à la dépêche Spécifications OpenGL 3.1. Évalué à 8.
Oui, cela dit :
1/ Encore faut-il que le moteur supporte les deux APIs ; c'est malheureusement loin d'être le cas de la plupart des ténors actuels, en négligeant les moteurs d'ID Software. Par exemple, tant l'Unreal Engine 3 que le CryEngine supportent uniquement la trinité PC (D3D 9/10), XBox 360 (D3D 9.0c«++») et PS3 (libGCM).
2/ Pire, il faut bien que les développeurs et artistes écrivent des shaders ; et là, ils ont le choix entre HLSL et GLSL, tous deux spécifiques à une API, ou Cg, un langage propriétaire à NVidia compilant au choix vers l'un des deux précédents ou d'être utilisé sur la PS3. Je ne sais pas du tout quel est le plus répandu, je suppose que Cg doit être assez apprécié pour sa portabilité. En bref, l'abstraction qu'apporte le moteur 3D est un peu brisée par le choix du langage de shading, si on veut se restreindre aux technologies libres.
[Il est vrai que certains moteurs apportent leur propre cadre (parfois sous forme graphique) pour l'écriture de shaders.]