L'ancienne pile matricielle d'OpenGL dictait que l'ordre de multiplication de la matrice devait être post-multiplié. L'OpenGL moderne reporte ces opérations matricielles vers le shader, où nous sommes maintenant libres de choisir d'utiliser operator*(vec4,mat4)
au lieu de operator*(mat4,vec4)
. Il se trouve que je préfère la pré-multiplication, car je trouve qu'elle rend le code plus lisible. Par exemple, avec la post-multiplication, nous avons
mat4 mvp = vp * m;
alors qu'avec la pré-multiplication, il devient
mat4 mvp = m * vp;
ce qui est plus logique pour moi.
Quoi qu'il en soit, ma question est la suivante : y a-t-il un inconvénient à cela ? A part le fait que les utilisateurs d'OpenGL n'y sont pas habitués ? Il ne semble pas y avoir de changement dans les performances.