В чем различие между OpenGL, DirectX, OpenCL, CUDA?

сразу прошу прощение за очень глупый вопрос, но чем отличается OpenСL от DirectX, OpenGL, CUDA? почему есть сравнение DirectX с OpenGL и OpenCL с CUDA, но нет сравнения допустим OpenCL и DirectX? я догадываюсь что они очень разные, но как я понимаю они все позволяют обращаться к видеокарте и ускорять с помощью нее вычисления. Хотелось бы узнать различие между этими технологиями и что за что отвечает?


Ответы (1 шт):

Автор решения: KoVadim

OpenGL vs DirectX

это два движка для отрисовки графики.

DirectX - это для Windows только, с с++ и интерфейсами, с закрытым кодом.

OpenGL открытый, есть для многих разных платформ. Внутри код написан в си стиле.

В принципе любая игра может быть написана на любой из платформ. Да, на них можно сделать расчеты, но неудобно.

OpenCL vs CUDA

А это средства, которые позволяют использовать видеокарту для рассчетов. В первом приближении можно считать, что видеокарта это много-много маленьких процессоров, которые умеют выполнять однотипные расчеты.

CUDA - разработка от NVidia. Закрытые сорцы, только для NVidia. OpenCL - открытое, для разнообразных видеокарт.

Писать на них игры можно конечно, но эти библиотеки (или это все такие фреймоворки?) не предназначены для отрисовки графики.

→ Ссылка