C/C++

Помогите разобраться в определениях

Не могу понять, что такое openGl допустим, directX и чем вот они отличаются друг от друга и от игровых движков. Разве на них не пишут тоже игры? И каким образом openGL и directX используются в программах? Допустим пишет что Unreal Engine 4 поддерживает directX 11, что это значит и почему он не поддерживает более раннюю версию?
OpenGL - это совсем не для игр, а для профессиональной 3D-графики. Это уже позже OpenGL приспособили для игр. Главное - OpenGL не зависит от операционной системы и существует во всех популярных ОС.

DirectX - это творение Microsoft, существующее только в Windows. И DirectX изначально ориентировалась на игры.

Используют точно так же, как любую другую системную библиотеку. Либо напрямую, либо через прокладку (коими являются Unity и Unreal Engine).

Более ранние версии DX не поддерживаются и потому, что предназначены для устаревших версий Windows, и потому, что не имеют множества возможностей, которые нужны для работы UE4.
Ruslan Rahimbaev
Ruslan Rahimbaev
62 918
Лучший ответ
OpenGL - в 70х годах прошлого века программисты которые писали программы для работы с графикой решили собраться и договорится между собой о правилах для написания графических программ что бы потом не было мучительно больно и совместными усилиями родили стандарт openGL.

directX - это маркетинговый и брендовый продукт от майкрософт примерно как платье у золушки, которое по звону часов превращается в разваливающиеся и ванючие гамно (всех сомневающихся попрошу запустить приложения написанные с помощью directX 1, directX 1,2, directX 4, directX 6, directX 7,directX 8,directX 9 ).

directX, OpenGL - это API который доступен с помощью подключаемых библиотек.

>>И каким образом openGL и directX используются в программах?
Программисты подключают библиотеки и вызывают методы доступные через API.

>>...что это значит и почему он не поддерживает более раннюю версию?
Это значит что вызываются методы API из версии directX 11 а не более ранних версий API.
Алик Глухов
Алик Глухов
12 593
Это API взаимодействия с графикой. Opengl умер ещё 10 лет назад, но он ещё поддерживается и, в принципе, работать может под любой ОС. DirectX - это API, которое работает и принадлежит windows'ким системам.
В общем то, это интерфейс взаимодействия программы с видеокартой.

А игровой движок - это игровой движок. Он уже имеет в себе систему работы с физикой, графикой, объектами, моделями, изображениями и т.д.

API по типу DirectX могут только рисовать, искривлять, трансформировать и производить остальной ряд задач с графикой.

Ещё раз. Игровой движок - готовая машина, готовая ехать с грузом и людьми, а так-же управляться; API по типу directX, opengl - почти мотор, лишь цилиндры и поршни, готовые лишь делать поступательные движения.