OpenGL, DirectX или XNA


2 0

Я начинал работу с графикой программированием под MS DOS, где приходилось выделять видео память и рисовать все ручками. Тогда не было удобных библиотек у самой системы, а сторонние разработки пестрили разнообразием стандартов.

С появлением Windows и переходом на Delphi я стал изучать сразу DirectX и OpenGL. DirectX я использовал с C++, потому что для него был родной SDK, и мне нравилась, возможность прямого доступа к поверхностям, которые могли копироваться в видео память и возможность переключать страницы, в общем я имел все то, к чему привык при программировании под MS DOS. А вот возможности Direct 3D, меня не улыбали до тех пор, пока не появились шейдеры.

Пытался использовать DirectX на Delphi, но не так успешно. Мне в Delphi тех старых версий не нравилась работа с массивами и бесили косяки в портации заголовочных файлов. Поэтому я решил попробовать на нем OpenGL. В принципе все нравилось, но не хватало тогда шейдеров, уж слишком примитивными были возможности.

Примерно последние 5 лет я не работал с графикой вообще, а с OpenGL не работал еще больше. Недавно начал писать под iPhone и на этой платформе стандартным средством для работы с графикой является OpenGL и мне пришлось возвращаться к нему. Я был приятно удивлен, что в его работе не так уж и много кардинальных изменений. В основном расширения и добавления. А это говорит о том, что все спроектировано отлично. В DirectX столько серьезных изменений, что постоянные переделки бесят.

У OpenGL, есть еще одно громадное преимущество - он поддерживается большим числом платформ, включая мобильные Android и iPhone, которые на двоих владеют практически всем рынком смартфонов. Если писать для Windows, то эти программы и игры будет легко портировать в Linux или на набирающую популярность MacOS.

С точки зрения удобства, простоты и гибкости, мне больше всего конечно же нравится OpenGL. Но если замахнуться на технологии Microsoft, то можно получит не только громадный рынок Windows систем, но и большой и прибыльный рынок XBox. Если сделать ставку на XNA, то можно так же получить Windows, XBox и потенциально хороший Windows Phone, который может выстелить.

Мне нравится XNA, но я не уверен, что это последняя платформа для разработки графики от Microsoft.

Я считаю, что на данный момент нужно выбирать на основе того, где вы хотите добиться успеха. Если вас интересует XBox, то конечно же выбор лучше уронить на XNA, чтобы иметь возможность охватить смежные рынки в виде Windows и Windows Phone.

Нельзя сказать, что какая-то из этих технологий лучше или хуже, они разные. Я всегда говорил, что не инструмент делает из нас мастера. В случае с графикой, основным инструментом сейчас все же являются шейдеры, на мой взгляд.


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Ведомир

30 Марта 2012

Для разработчика-одиночки (да и инди-студии из пары-тройки человек) ключевой вопрос - скорость и простота. Что толку в гибкой и мощной платформе, если на создание законченной игры уйдет вся жизнь - читай никогда не закончишь.

Нотч написал Minecraft на Яве и LWGL и заработал 80 миллионов долларов - а на более мощной платформе мог бы так никогда и не написать.

Кстати, на C# же можно писать для Андройд и iOS через MonoTouch/Droid - интересно как там с XNA?

И вы не пробовали полноценные движки вроде Unity3d  - там и платформы вообще все (включая PS3 и Wii) и скриптовый язык хоть C# хоть JavaScript и встроенные средства для организации процесса разработки.


crsib

30 Марта 2012

Ну, видимо вы смотрели только ES 1.0. ES 2.0 очень сущеdствественные изменения в API. Ровно как и десктопных 3.x/4.x.

Мне лично в ES очень не хватает контроля над мелочами и в принципе не очень нравится их подход к дизайну системы (работа с текстурами, шейдерными константами и т.д.), хотя в 3.0/4.0 с этим гораздо лучше (и апи по использованию стали очень похожи на D3D10+)


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне