В чем различие между OpenGL, DirectX, OpenCL, CUDA?
сразу прошу прощение за очень глупый вопрос, но чем отличается OpenСL от DirectX, OpenGL, CUDA? почему есть сравнение DirectX с OpenGL и OpenCL с CUDA, но нет сравнения допустим OpenCL и DirectX? я догадываюсь что они очень разные, но как я понимаю они все позволяют обращаться к видеокарте и ускорять с помощью нее вычисления. Хотелось бы узнать различие между этими технологиями и что за что отвечает?
Ответы (1 шт):
OpenGL vs DirectX
это два движка для отрисовки графики.
DirectX - это для Windows только, с с++ и интерфейсами, с закрытым кодом.
OpenGL открытый, есть для многих разных платформ. Внутри код написан в си стиле.
В принципе любая игра может быть написана на любой из платформ. Да, на них можно сделать расчеты, но неудобно.
OpenCL vs CUDA
А это средства, которые позволяют использовать видеокарту для рассчетов. В первом приближении можно считать, что видеокарта это много-много маленьких процессоров, которые умеют выполнять однотипные расчеты.
CUDA - разработка от NVidia. Закрытые сорцы, только для NVidia. OpenCL - открытое, для разнообразных видеокарт.
Писать на них игры можно конечно, но эти библиотеки (или это все такие фреймоворки?) не предназначены для отрисовки графики.