Являются ли различия между этими двумя API незначительными деталями реализации, которые означают, что как только я изучу один, я могу использовать его для всего? Или есть причины для изучения одного, а не другого, если я хочу иметь возможность использовать его вообще без необходимости переучивать другой API в будущем? Тот или иной более общий?
В частности, я хотел бы иметь возможность писать для любой видеокарты, чтобы код не ограничивался только работой на картах конкретного производителя или конкретной модели. Я также хотел бы иметь возможность писать код, который все еще работает при отсутствии видеокарты (хотя и медленнее).
Есть ли разница в том, как переносимый код будет на разных платформах (операционных системах / архитектурах)? Меня интересует наличие других библиотек, которые работают с ними, и приводит ли одна или другая к уменьшению лицензионных ограничений в более широкой среде. Что-нибудь измеримое, что имело бы значение для того, мог ли один из них быть единственным, который я изучаю, не ограничивая меня.