more_cry
@more_cry
Пишу веб-проекты не до конца

В чем главное различие между Windows API, DirectX и OpenGL?

В чем заключается главное различие этих трех интерфейсов? То что один из них, именно WinAPI, работает на высоком уровне обращаясь к самой системе, а другой (DirectX) на низком уровне обращаясь к GPU?

Вот в случае с OpenGL все ясно – она работает на низком уровне, как и сказано в правдивых источниках. Тут у DirectX так же? Но почему она тогда не является кроссплатформенной? Ведь в случае программирования на низком уровне все зависит от аппаратной части, а не от ОС, разве не так?
  • Вопрос задан
  • 2073 просмотра
Решения вопроса 1
Rou1997
@Rou1997
Вопрос должен звучать как:
"В чем главное различие между GDI/GDI+, DirectX и OpenGL?"

Windows API - это не только GDI и GDI+, но еще и GUI, файловая система сеть, короче, полноценное низкоуровневое (для XXI века) API ОСи, на котором так или иначе написаны все программы. И вроде это и из названия понятно, не?

GDI/GDI+ изначально предназначены не для игр, а для отрисовки GUI, который в те старо-добрые времена не ассоциировался с такой кучей свистелок и перделок, как сейчас. Потому он и не заточен под сложную графику, и навороты GDI+ это потолок возможностей графики для GUI.

у DirectX так же? Но почему она тогда не является кроссплатформенной?

Ну, хотя бы потому, что скомпилирован в формат dll, который на линуксе, маке, андроиде, айосе - не пойдет. На андроиде еще и архитектуру надо другую. А исходников нет - проприетарный - поэтому не пересобрать.
Дизассемблирование - это незаконно + сложно и тяжело технически, со мной бы такая работа в 6-7-8-значную сумму вылилась (в рублях), и времени заняло месяцы... ))) На эти деньги можно было бы игровой движок какой-никакой сделать, или еще что-нибудь приличное, и продавать его, вместо того, чтобы портировать DirectX "чтобы было".
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg Куратор тега Windows
Любые ответы на любые вопросы
DirectX - проприетарное решение от микрософта, работающее только на windows. Кроме графики также обеспечивает работу с сетью, устройствами ввода (в том числе и с обратной связью) и звуком.

OpenGL - кроссплатформенное решение, работает только с графикой.

WinAPI (GDI) - решение для написания прикладного ПО, не предназначено для работы с серьезной графикой и явного использования ускорителя.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы