Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > DirectX или OpenGL?


Автор: ChaoCheese 27.4.2012, 11:14
Прошу аргументировать.

Автор: Alexeis 27.4.2012, 12:18
  Геймдев ориентируется на DirectX + консоли. Играют на PC в основном под винду. Разработчики прикладного по больше думают о переносимости (например SolidWorks, PhotoShop), соответственно используют OpenGL . По эффективности и возможностям они близки. У каждого движка есть свои печеньки. Выбор скорее определяется тем в какой области будешь искать работу. 

Автор: BEOWOLF 28.4.2012, 01:14
Сейчас такой выбор давно уже не актуален. Естественно разработка игр ведётся под DirectX, поскольку помимо графики включает все необходимые базовые библиотеки, и таким образом нет необходимости ставить проект в зависимость от кучи библиотек различных авторов со своими частыми/редкими обновлениями, и своим видинием перспектив развития, или тем более изобретать велосипед. Кроме того, DirectX уже включён в WinSDK, и не является отдельным SDK. Если же речь заходит о кроссплатформенности, то скорее всего не о портировании кода под убунту, а об написании под iOS и другие мобильные ОС, а там уже свои технологии. Но в этом случае лучше уже решать Flash vs Silverlight smile

Автор: BorisVorontsov 28.4.2012, 14:32
ChaoCheese, область применения какая?

Автор: tzirechnoy 9.5.2012, 15:45
Разумеется, OpenGL. Во-первых, DirectX тянет за собой winelib, который через пень-колоду собирается дажэ на распространённых платформах...
В-главных, ни для чего кроме тупого прожыгания времени (игрушэк) DirectX в принцыпе не предназначен. В OpenGL начиная с версии 2 это, в общем, тожэ заметно -- однако нормальный OpenGL пока что существует.

Автор: borisbn 10.5.2012, 09:53
Цитата(tzirechnoy @  9.5.2012,  15:45 Найти цитируемый пост)
Во-первых, DirectX тянет за собой winelib

Это смотря на какой ОС. На Windows - не требует.

Цитата(tzirechnoy @  9.5.2012,  15:45 Найти цитируемый пост)
В-главных, ни для чего кроме тупого прожыгания времени (игрушэк) DirectX в принцыпе не предназначен. 

Расскажите Blizzard и Electroniс Arts, что они тупо прожигают время. Они, вообще-то, тупо на этом зарабатывают.

Полностью согласен с
Цитата(Alexeis @  27.4.2012,  12:18 Найти цитируемый пост)
Выбор скорее определяется тем в какой области будешь искать работу.  

и с
Цитата(BorisVorontsov @  28.4.2012,  14:32 Найти цитируемый пост)
 область применения какая?

без понимания для чего будет использоваться - нет смысла ни голосовать ни высказываться.

Автор: Фантом 10.5.2012, 15:02
Цитата(borisbn @  10.5.2012,  10:53 Найти цитируемый пост)

без понимания для чего будет использоваться - нет смысла ни голосовать ни высказываться. 

Соответственно, имеющееся голосование лишено смысла.

Автор: InfMag 12.5.2012, 16:19
Идеологически OpenGL, сам держу винду по паре причин, это муз-софт (cubase, арсенал vst и проч. arour и ladspa пока на стадии беременности) и игры. Игры, потому что, DirectX, нифига не портировано под nix, wine, далеко не всегда выдаёт то, что нужно, проблемы, насилие мозга. Я сторонник того, что ОС должна быть пристрастием пользователя, а разработчики, должны делать всё крос-платформенным, сейчас для этого уйма решений.

Автор: Alexeis 12.5.2012, 17:00
Цитата(InfMag @  12.5.2012,  17:19 Найти цитируемый пост)
Я сторонник того, что ОС должна быть пристрастием пользователя, а разработчики, должны делать всё крос-платформенным, сейчас для этого уйма решений. 

  Это дополнительные деньги.  Если бы ты сказал пользователю, что программа будет стоить на 30% дороже потому, что ее поддерживают на других осях, то он может не согласиться с такой точкой зрения. Вопрос такой окупит ли тот процент пользователей затраты на поддержку и перенос.

Автор: InfMag 12.5.2012, 22:33
Alexeis, ну если смотреть с этой стороны, то при смене тенденций — вполне себе. Многие имеют окна хотя бы как альтернативу вынужденно, программное обеспечение, потому что производители не захотели портировать на другую ось (или например для маков, но не для никсов) по тем или иным соображениям. Photoshop-ы всякие — вопрос уже не актуальный, есть достойные крос-платформенные альтернативы GIMP, Inkscape, 3d Blender и прочие. Рядовые пользователи не проч пользоваться линуксом, даже самые рядовые, для которых окна и линукс одинаково сложны, и настройку/установку всё-равно будут доверять знающим людям, знаю случаи. А рядовые пользователи как раз львиная доля игрового рынка. Предлагаешь значит пользователю linux, но предупреждаешь, что с запуском игр будут проблемы, конечно он откажется, но не потому что linux плох, а потому что игры на него не портированы. Ну вот как-то так. Может я ошибаюсь, поправьте. Я сам большой сторонник крос-платформенного софта, иной софт стараюсь только крайне редко использовать, чтоб окажись я за другой осью, не стал бы рыться в альтернативах.

Автор: Amp 13.5.2012, 02:17
Замкнутый круг. Никто не будет писать, пока будет пресловутый 1% десктопа. А этот процент будет расти ну очень-очень медленно, так как никто не пишет. В windows видеодрайвера хотя бы более-менее, у меня вот в линуксе MSAA в OpenGL отвалился и JavaFX не хочет цеплять аппаратное ускорение.

Автор: Alexeis 13.5.2012, 11:21
Цитата(InfMag @  12.5.2012,  23:33 Найти цитируемый пост)
Photoshop-ы всякие — вопрос уже не актуальный, есть достойные крос-платформенные альтернативы GIMP, Inkscape, 3d Blender и прочие. 

  Так фотошоп портирован на Mac. Они бы и на линукс его портировали, если бы не преславутый опен сорс. И вряд ли есть программы сравнимые с ним.
Цитата(Amp @  13.5.2012,  03:17 Найти цитируемый пост)
В windows видеодрайвера хотя бы более-менее, у меня вот в линуксе MSAA в OpenGL отвалился и JavaFX не хочет цеплять аппаратное ускорение. 

  Я думаю, что линукс всерьез не рассматривают как десктоп. Рынок десктопа линукса 1%, тогда как макинтош еще недавно был 5% сейчас думаю уже приближается к 10%. На маках Все графические дрова из коробки, так что пользователь не думает об этом и может вполне использовать ускорение OpenGL. Кроме того немаловажно, то что на маках стоят качественные матрицы, соответственно есть на чем смотреть эту красоту. 

Автор: Любитель 13.5.2012, 12:24
Цитата(Alexeis @  13.5.2012,  11:21 Найти цитируемый пост)
 Так фотошоп портирован на Mac

Если придираться к истории - то он изначально там и появился smile

Автор: InfMag 14.5.2012, 01:51
Alexeis, у меня все дрова подтянулись сами, причём я выбрал проприетарные (закрытые) дрова, через специальный инструмент, без всяких «шаманств» с консолью. Проприетарные и коммерческие приложения в той же убунте вполне себе имеют место быть. Я почти всё поставил из центра приложений, ничего левого и скачивать не нужно. Мне кажется это вопрос времени. Что загадывать. Я никого не критикую, просто мой выбор пал бы принципиально на OpenGL, меня не волнует кто там что с коммерчесской точки зрения думает, я поступаю по отношению к миру так, как хочу чтобы было по отношению ко мне, и я бы не хотел чтобы мне приходилось держать винду для того, чтобы пользоваться софтом или играми, из-за «коммерчески-"адекватного"» ходя разработчиков, когда я предпочитаю линукс. И если бы делал нечто по сабжу, то я бы делал это на OpenGL.

Автор: BorisVorontsov 14.5.2012, 12:44
InfMag, по поводу кроссплатформенности, хотел бы напомнить, что DirectX это не только PC, это и XBox и Win-смартфоны.

Автор: InfMag 14.5.2012, 22:12
BorisVorontsov, я не считаю это крос-платформенностью.

Автор: BorisVorontsov 15.5.2012, 10:14
Тем не менее, это кроссплатформенность

Автор: Vega251 6.8.2012, 11:58
Опять войны... Берите ту технологию, которая необходима в вашей программе. С учетом того, что одному нереально написать нормальную игру для компа, а спрос на графических программистов в нашей Раше невысок, то выбор явно не в пользу Direct X.
А для инди-программистов, пишущих для мобильных устройств, Open Gl с головой хватит. 
В остальном, как бы не увлекательно не было писать графические программы, лично я перспектив не вижу.

Автор: borisbn 6.8.2012, 22:19
> одному нереально написать нормальную игру для компа
Пока возражений нет
> спрос на графических программистов в нашей Раше невысок
Слабое, но возражение
> то выбор явно не в пользу Direct X
А вот тут не понятно, откуда такой вывод?

Автор: drug007 14.8.2012, 09:59
Если рассматривать конкретный случай, то зависит от платформы, бюджета и т.д. И в некоторых случаях DirectX будет заметно более удобным, чем OpenGL. Если же нужна кроссплатформенность или просто нет желания быть привязанным к одному производителю - то OpenGL рулит. IMHO,  спрос на DirectX формируется со стороны его хозяина (там всегда маркетологи были круче чем кодеры) - он тупо навязан всем обладателям софта от Microsoft, а OpenGL живет просто потому, что востребован. Не будет поддержки со стороны мелкомягких директха загнется нафик и не сможет составить конкуренцию OpenGL.

Автор: Vega251 2.9.2012, 17:04
Цитата(borisbn @  6.8.2012,  22:19 Найти цитируемый пост)
то выбор явно не в пользу Direct X
А вот тут не понятно, откуда такой вывод? 

Да просто потому, что многие графические программы гораздо проще реализовать на Open GL, чем возиться с Direct X. Не спорю, на последнем увлекательно программировать, но затраты времени все же выше.
Кстати borisbn, вы учитесь или закончили и работаете? Просто я сейчас в Ростове открываю фирму по созданию мобильных приложений. Если интересно, напишите в личку. Мне нужен как раз еще один программист графики

Автор: InfMag 2.9.2012, 20:04
Цитата(Vega251 @ 6.8.2012,  14:58)
Опять войны... Берите ту технологию, которая необходима в вашей программе. С учетом того, что одному нереально написать нормальную игру для компа, а спрос на графических программистов в нашей Раше невысок, то выбор явно не в пользу Direct X.
А для инди-программистов, пишущих для мобильных устройств, Open Gl с головой хватит. 
В остальном, как бы не увлекательно не было писать графические программы, лично я перспектив не вижу.

Не видите перспектив у OpenGL? Он якобы плох? Я вот на линуксе спокойненько играл в нативный Unreal Tournament 2004, OpenGL, всё как положено. Тут всё понятно, Direct X диктуется мейнстримом. Ведь когда-то делали сайты чисто под Internet Explorer, вот и с Direct X ситуация похожая. Просто Internet Explorer уже не мейнстрим и исчезает по убывающей, никакая реклама уже ему не помогает, а вот Direct X ещё пока мейнстрим.

Автор: Vega251 3.9.2012, 21:55
Цитата(InfMag @  2.9.2012,  20:04 Найти цитируемый пост)
Не видите перспектив у OpenGL? Он якобы плох?

Интересно, как это вы интерпретировали так мой пост? Перспектив я не вижу в программировании графических программ для компьютера, а не в OpenGL  в частности. Посмотрите другой пост. С учетом того, что мне часто приходится писать игры для мобильных устройств, то Openg GL  стал мне очень мил.

Автор: Amp 4.9.2012, 10:26
Цитата(InfMag @  2.9.2012,  20:04 Найти цитируемый пост)
Я вот на линуксе спокойненько играл в нативный Unreal Tournament 2004, OpenGL, всё как положено.

Я раньше тоже играл в нативный UT2004. А сейчас такая задница с драйверами, что у меня даже QuakeLive местами тормозит.

Если говорить про не игровой сегмент разработки. OpenGL ветки 1.x со своим API и FFP был прост как две копейки. Не надо было обладать какими-то сильными знаниями об устройстве видеокарт, самой 3d-графике, оптимизациях и вообще организации вывода геометрии. Университетского курса было достаточно. Лапша из glBegin/glEnd/glTranslate/glRotate исправно делала свое дело, OpenGL сам по себе рулил текстурами и народ был счастлив. Расширения старались не трогать, так как это выходило за привычные паттерны использования библиотеки, требовало специальных знаний и наивных вопросов на форумах типа "где скачать opengl версии x.y". Да и особо оно наверное не требовалось в типовых научно-прикладных приложениях с незамысловатой визуализацией. Графики и чайники рисовались прекрасно без этого. Появление второй ветки с GLSL прошло незамеченным, так как бытовало мнение, что шейдеры - они ж для эффектов в игрушках и демках, чтобы чайнички по Фонгу раскрашивать. После некоторой задержки, появляются 3-4 версии с контекстами, в которых куча обожаемых функции либо выпилены, либо deprecated. И тут некоторым начинает припекать попу, потому что версия 1.x вроде как устарела, а в последних версиях многое из того, что они знали и умели до этого, оказывается бесполезным. Ну и начинается - "Кругом чертовые шейдеры! Проклятые геймдевелоперы испортили библиотеку! Только fixed pipeline, только хардкор!".

Плюс OGL 1.x - простота, низкий порог вхождения (даже по сравнению с D3D какой-нибудь 9-ой версии) и огромнейшая масса литературы с разнообразными туториалами. Про последние такого уже не скажешь.

Автор: Piff 7.9.2012, 04:29
Библиотека GLUT имеет больше встроенный функций и является кросс-платформенной.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)