Des compilos pour vertex et pixel shaders ?
En tout cas pour les vertex shaders, avec vertex_program_ARB, y'a pas besoin de compiler ...
Si, c'est possible justement, et c'est meme recommandé pour des raisons de performances. En effet, les cartes graphiques se différencient de plus en plus et il y a donc des optimisations nécessaires à faire dépendant de ces cartes (surtout pour les pixels shaders, qui sont beaucoup plus sensible au type de carte graphique). Du coup, la tendance actuelle est de compiler de manière dynamique les pixels shaders à partir de routines de pseudo-C directement sur la machine cible.
Maintenant, si c'est des vertex shaders d'OpenGL 2.0, alors on y est pas encore...
Attention OpenGL 2.0 c'est aussi et surtout la généralisation des pixels shaders. Et quand on y sera à OpenGL 2.0, si on a pas de compilo de pixel shaders libre, ben on aura l'air fins, tiens...
D'ailleurs, des compilos libres pour les shaders ça existe. Enfin à ma connaissance il y en a un seul, qui est la version 1.0 du compilateur de pixel shaders de nvidia (que nvidia a libéré ; il me semble que la licence est une BSD-like mais c'est à vérifier). Par contre les sources de versions 1.1 et 1.2 n'ont pas été distribuées et aucune initiative libre n'existe pour maintenir le compilateur 1.0 libre de nvidia. Le code ne m'a pas l'air impossible à maintenir, il fait dans les 20000 lignes.
Et si on veut suivre la tendance, c'est-à-dire avoir une compilation dynamique des pixels shaders, il faut que la licence du compilateur suive la licence des programmes. De ce point de vue, un compilateur de pixel shaders libres serait une très bonne chose.
[^] # Re: Linux et OpenGL : où en est-on ?
Posté par Stephane Marchesin . En réponse au journal Linux et OpenGL : où en est-on ?. Évalué à 2.
En tout cas pour les vertex shaders, avec vertex_program_ARB, y'a pas besoin de compiler ...
Si, c'est possible justement, et c'est meme recommandé pour des raisons de performances. En effet, les cartes graphiques se différencient de plus en plus et il y a donc des optimisations nécessaires à faire dépendant de ces cartes (surtout pour les pixels shaders, qui sont beaucoup plus sensible au type de carte graphique). Du coup, la tendance actuelle est de compiler de manière dynamique les pixels shaders à partir de routines de pseudo-C directement sur la machine cible.
Maintenant, si c'est des vertex shaders d'OpenGL 2.0, alors on y est pas encore...
Attention OpenGL 2.0 c'est aussi et surtout la généralisation des pixels shaders. Et quand on y sera à OpenGL 2.0, si on a pas de compilo de pixel shaders libre, ben on aura l'air fins, tiens...
D'ailleurs, des compilos libres pour les shaders ça existe. Enfin à ma connaissance il y en a un seul, qui est la version 1.0 du compilateur de pixel shaders de nvidia (que nvidia a libéré ; il me semble que la licence est une BSD-like mais c'est à vérifier). Par contre les sources de versions 1.1 et 1.2 n'ont pas été distribuées et aucune initiative libre n'existe pour maintenir le compilateur 1.0 libre de nvidia. Le code ne m'a pas l'air impossible à maintenir, il fait dans les 20000 lignes.
Et si on veut suivre la tendance, c'est-à-dire avoir une compilation dynamique des pixels shaders, il faut que la licence du compilateur suive la licence des programmes. De ce point de vue, un compilateur de pixel shaders libres serait une très bonne chose.