Les différences entre ces deux API sont-elles des détails d'implémentation mineurs qui signifient qu'une fois que j'en ai appris une, je peux l'utiliser pour tout? Ou y a-t-il des raisons d'apprendre l'un plutôt que l'autre si je veux pouvoir l'utiliser en général sans avoir à réapprendre une autre API à l'avenir? L'un ou l'autre est-il plus général?
En particulier, j'aimerais pouvoir écrire pour n'importe quelle carte graphique, donc le code n'est pas limité à ne fonctionner que sur les cartes d'un fabricant particulier ou sur un modèle spécifique. J'aimerais aussi pouvoir écrire du code qui fonctionne toujours en l'absence de carte graphique (quoique plus lent).
Y a-t-il une différence dans la façon dont le code portable sera sur différentes plates-formes (systèmes d'exploitation / architectures)? Je m'intéresse à la disponibilité d'autres bibliothèques qui fonctionnent avec celles-ci, et si l'une ou l'autre conduit à moins de restrictions de licence dans son environnement plus large. Tout ce qui est mesurable ferait une différence pour savoir si l'un d'eux pourrait être le seul que j'apprenne sans me restreindre.