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


Автор: Sergio 23.10.2006, 21:51
Здраствуйте.. Я в сфере графики нечего не знаю , но 3D игры играю.  smile   Скажите чем отличаэтся DirectX и OpenGL?? Что лучше учить для игровой индустрии???
Зарание спасибо.

Автор: cardinal 24.10.2006, 01:37
У нас в универе пользуются OpenGL (так как бесплатная)...

А вообще вот, почитай
http://forum.vingrad.ru/topic-83443/0.html

Автор: Rickert 24.10.2006, 02:37
OGL - бесплатный, а DX - платный
кроссплатформенный и не кроссплатформенный, соответственно.
ориентирован и заточен на графику только, DX - это комплекс по разработке(видео, звук и т.п.)
Первое на вскидку, а вообще по-моему такая тема есть в разделе "Религиозные войны". Факт того, что эта тема поднималась ни один раз имеет место быть. Поиском пользуйся, мой друг.

Автор: Sergio 27.10.2006, 18:48
Rickert, что такое кроссплатформенный?

Автор: Rickert 27.10.2006, 19:12
Кроссплатформенный - это значит подходит пд разные платформы. Объясняя популярно: есть и unix системах и форточках и в Mac OS

Автор: empter 27.10.2006, 19:13
Цитата(Rickert @  24.10.2006,  02:37 Найти цитируемый пост)
DX - платный

Почему smile , SDK совершенно  бесплатно распространяется smile 

Автор: NightmareZ 2.11.2006, 22:12
Цитата(Rickert @  24.10.2006,  02:37 Найти цитируемый пост)
а DX - платный

Бред.

Автор: Rickert 3.11.2006, 08:07
Чего-то я прогнался с DX smile

Автор: cipher 3.11.2006, 16:35
Всё абсолютно верно, о брат мой. DirectX платная вещь, SDK раздают на халяву, а вот то что ты натворил с помощью этого DirectX подлежит оплате. Грубо говоря, ты отстёгиваешь деньги microsoft'у от продажи своей программы, только за то что использовал их разработку DirectX. А OpenGL абсолютно бесплатный, его исходный программный код лежит свободно, в то время как исходный код DX ты нигде не найдешь!

Автор: Rickert 4.11.2006, 07:51
cipher, а чёрта ли мне мозги подряд! Знал ведь на подсознательном уровне!

Автор: NOT 18.12.2006, 14:45
Вообще-то никто никому не отстегивает, мелкософт, поддерживает свой "окучиватель" графики, т.к. им выгодно, чтоб прогеры делали игры под винду и под шайтан коробку.

Добавлено @ 14:48 
Цитата

Что лучше учить для игровой индустрии???

Ты много видел игр, сделанных с помощью ОГЛа в последние 5 лет, я тоже не особо. Если кто-то скажет "много", то скажите, какой издетель у этой игры, какого она жанра, и много денег принесла создателям.

Автор: OneFourth 19.12.2006, 01:16
Разве Квака треться не на OpenGL ?

Автор: Rickert 19.12.2006, 14:37
NOT, уууууу
Кваки все кроме первой, дум3. Соответстветнно все игры, которые делались на их движках(Medal of honour, Half-life, Return to castle wolferstein, etc...) Вот тебе примеры smile
К примеру: за две недели до того, как движок кваки третьей выложили в свободном доступе, он стоил 300 000 $, не стоит говорить наверное, что когда квака появилась её движок стоил порядка 1 500 000. Про движок дума3 вообще молчим. smile 

Автор: cipher 19.12.2006, 18:55
NOT, ну ка просвети меня по поводу того как это DirectX у нас бесплатный? Что-то я не совсем понял по поводу твоего высказывания, прошу прояснить

Автор: DENNN 20.12.2006, 10:31
Цитата(cipher @  19.12.2006,  18:55 Найти цитируемый пост)
NOT, ну ка просвети меня по поводу того как это DirectX у нас бесплатный? Что-то я не совсем понял по поводу твоего высказывания, прошу прояснить 

Лучше покажи тот абзац, где написано что он платный ))

Автор: Rickert 20.12.2006, 13:08
DENNN
Цитата(cipher @  3.11.2006,  16:35 Найти цитируемый пост)
DirectX платная вещь, SDK раздают на халяву, а вот то что ты натворил с помощью этого DirectX подлежит оплате.


Автор: DENNN 21.12.2006, 11:19
Rickert
Цитата(DENNN @  20.12.2006,  10:31 Найти цитируемый пост)
Лучше покажи тот абзац, где написано что он платный 


Добавлено @ 11:23 
Не тобой написано, а владельцем DX

Автор: NOT 23.12.2006, 22:15
Цитата

Кваки все кроме первой, дум3. Соответстветнно все игры, которые делались на их движках(Medal of honour, Half-life, Return to castle wolferstein, etc...)

Это можно сказать метры своего дела, но с таким же успехом можно упомянуть анрыл енжин и все мгры, что на нем были написаны, а также все остальные игры, написанные на Директе.

Автор: OneFourth 26.12.2006, 00:50
Цитата(NOT @ 23.12.2006,  22:15)
Цитата

Кваки все кроме первой, дум3. Соответстветнно все игры, которые делались на их движках(Medal of honour, Half-life, Return to castle wolferstein, etc...)

Это можно сказать метры своего дела, но с таким же успехом можно упомянуть анрыл енжин и все мгры, что на нем были написаны, а также все остальные игры, написанные на Директе.

NOT, изначально тобой было сказано, что на Огле ничего стоящего не пишется. Тебе привели примеры доказывающие обратное, из чего можно сделать вывод, что Огл достойный конкурент Директу...  

Автор: NOT 26.12.2006, 23:42
Во-первых мною такого сказано:
Цитата

 изначально тобой было сказано, что на Огле ничего стоящего не пишется.

 не было - читать внимательно.
Во-вторых - DirectX библиотека(АПИ) - стандарт в разработке игр. Я не говорил, что на Огле нельзя сделать того, что может Директ, но однозначно Директ для мультимедиа, Огл - для инженерии, хоть для него и делаются либы пачками для поддержки того и иного "финта ушами".

Автор: PoloS 11.1.2007, 20:33
Кармак бесповоротно верит в производительность OPENGL smile

DX - платный. Вы видели хоть один бесплатный движок под DX?

Автор: empter 11.1.2007, 21:25
Цитата(PoloS @  11.1.2007,  20:33 Найти цитируемый пост)
DX - платный. Вы видели хоть один бесплатный движок под DX? 

Куча, тот же NEbula, Ogre (там мультирендер), Irrliht и тд.....

Автор: AssassinFX 12.1.2007, 10:58
ДИРЕКТС БЕСПЛАТНЫЙ!!!!!

Автор: FIaR 18.1.2007, 13:10
Цитата

но однозначно Директ для мультимедиа, Огл - для инженерии, хоть для него и делаются либы пачками для поддержки того и иного "финта ушами".


А зачем OpenGL'у нужны шейдеры - для инженерии? smile 

И вообще - для новичков, я бы советовал  GL - он гораздо логичнее, и проще в понимании, нежели ДиректХ.

Цитата

DirectX библиотека(АПИ) - стандарт в разработке игр. 


Это если искренне верить в Майкрософт, и мерять с их стороны! А на приставках - уже давно OpenGL - т.к. это СТАНДАРТ! smile 

Автор: empter 18.1.2007, 21:21
Цитата(FIaR @  18.1.2007,  13:10 Найти цитируемый пост)
А на приставках - уже давно OpenGL - т.к. это СТАНДАРТ!

На каких, уточняй пожалуйста, XBOX 360 полностью на XNA, т,е DirectX
Wii - скорее всего да
PS3 да, OpenGL, но надолго ли

Цитата

Весьма интересное заявление Гейба Ньюэлла (Valve) было вытащено из интервью журналу Gameinformer. Как заверяет сайт NeoGAF (именно там появилось эта цитата), глава Valve весьма резко высказался по поводу консольного творения Sony:

    PS3 это полная катастрофа, причём по многим параметрам. Я думаю, совершенно ясно — Sony просто потеряла представление о том, что хотят их покупатели и разработчики. И я считаю, что даже сейчас они должны просто отменить всё и начать снова. Просто сказать: "Это было ужасное недоразумение, мы сожалеем об этом и собираемся прекратить продавать консоли и убеждать разработчиков создавать игры под неё". Совсем другое дело — Wii. Бьюсь об заклад, что к следующему Рождеству будет продано гораздо больше Wii, чем Xbox 360. Некоторые думают, что я псих, но мне на самом деле нравится то, что делает Nintendo.


На самом деле Гейб не первый из разработчиков, кто отрицательно высказывается о PS3. Тим Свини из Epic жаловался на то, что из-за специфики архитектуры PS3 программирование под эту консоль обходится в пять раз дороже (говоря о времени и стоимости разработки). Джон Кармак из id заявлял, что несмотря на мощность PS3 по сравнению с Xbox 360, он предпочитает работать под консоль от Microsoft у которой лучше инструментарий.

Даже Карамк предпочитает XBox!!!

Автор: AssassinFX 18.1.2007, 21:30
empter, В том что у программистов Sony кривые руки невиновата OpenGL.

Добавлено @ 21:37 
Цитата

И вообще - для новичков, я бы советовал  GL - он гораздо логичнее, и проще в понимании, нежели ДиректХ.

Не факт,OpenGL более низкоуровневый чем DX и работь удобней с DX, несмотря на то что разбиратся прийдётся на недельку дольше,но поверь эта неделя окупит себе после тогда как узнаеш что ДХ работает без всяких заморочек с jpg,bmp,tga,dds и X для 3д моделей,про классы вектором матриц,компил шейдеров я вобще молчу.

Добавлено @ 21:42 
FIaR, Давай просто для интереса посоревнуемся smile  ты мне называеш достоинство ГЛ я называю достоинство ДХ 9.Простота ГЛ несчитается так как это предпочтение каждой отдельной личности,будем брать с технической точки зрения.
OpenGL 2.0 Невсчёт так как этого стандарта официально ещё нет,а ДХ 9 уже давно,я даже неберу ДХ 10.

Автор: $tatic 20.1.2007, 11:47
Цитата(AssassinFX @  18.1.2007,  22:30 Найти цитируемый пост)
OpenGL 2.0 Невсчёт так как этого стандарта официально ещё нет

Кто тебе такое сказал? На оффсайте так не считают: http://opengl.org/documentation/specs/
И NVidia уже 2.1 поддерживает в своих драйверах.
Шейдеры тоже компилируются OpenGL и без проблем работают.
И вообще, причем тут версия OpenGL? В винде только 1.1 по умолчанию, но может он абсолютно все, что и 2.1. Никакой разницы программисту практически нет.
И по тем возможностям, которые реализуются в видеокарте OpenGL ничем не хуже DirectX.
А вообще для подобной темы уже есть соответствующая в "Религиозных войнах".

Автор: AssassinFX 20.1.2007, 12:23
$tatic,Извеняюсь,немножко от жизни отстал. smile 

Автор: SimpleProger 21.1.2007, 21:30
Что вы тут развели.. Конечно же Дх бесплатный и даже по завершению проекта на нем! 

По поводу того что лучше - исключительно дело вкуса, имхо. Конечно в том случае, када пишешь под Винду. Ежели необходима поддержка разных платформ, то тут вопрос отпадает. А вообще серьезные движки сегодня, как правило, поддерживаеют оба АПИ. Тут следует сказать, что уже 3. ;)

Я сразу начинал с Дх. И пока не имею желание переходить на ОГЛ. Есть друг, он им и занимается, пока что. Я только слежу и немного вхожу в курс дела. Честно говаря в Дх-е меня привлекает его COM-структура (уж лучше она, чем набор ф-ий в огле) + отсутсвие каких-либо расширений. 

А вообще оба АПИ очень хороши. Кстати, всеми любимый Кармак, недавно таки признал, что Д3Д9.0 весьма хороший апи, а вот на 10ый Дх переходить он пока смысла не видит, да и правильно. Хотя вон ребята из КрайТека даром время не теряют ;)

Автор: AssassinFX 21.1.2007, 22:07
КрайТековцы явно поспешили так как инструмент ещё неотлажен,но Майкрософт как всегда на высоте ещё невыпустила продукт(когда КрайТековцы делали двиг под ДХ 10, ещё небыло релиза ДХ10 и Вин Виста) а уже продала... smile 

Автор: SimpleProger 22.1.2007, 11:49
Она(Майкрософт. тока почему она?!) его не продала, а отдала! А АПИ не сильно изменился с момента поступления бета-версии. КрайТеку неплохо помог сам майкрософт, как первинцам в освоении их нового АПИ, так что я не думаю, что у них возникли сложности по этому поводу. А на счеи висты это да, они сами говорили примерно следующиее: "... Да мы еще сами в глаза то её не видели, но это вовсе не мешает нам писать под неё smile...". Ну и пожалуй надо помнить, что игра таки выйдет аж осенью (в лучшем случае) этого года так что за это время они сумеют отладить у себя в двигле новый апи, моё имхо.

Автор: FelikZ 22.1.2007, 21:08
А кто мешает установить висту и на ней пробывать писать на 10-ом?
Ведь на ней директ10 уже есть... smile 

Автор: SimpleProger 23.1.2007, 13:48
Никто не мешает smile Этим уже и занимаются
Цитата

Ведь на ней директ10 уже есть...

так он только на ней и будет smile 

Автор: DENNN 23.1.2007, 16:17
Цитата(FelikZ @  22.1.2007,  21:08 Найти цитируемый пост)
А кто мешает установить висту

Мешают крокодиловы слезы, наворачивающиеся на глаза при работе с ней  smile 

Автор: AssassinFX 23.1.2007, 16:17
FelikZ, Заодно и видюху менять надо.

Автор: FelikZ 23.1.2007, 20:51
А что если встроенного 10-го в видухе нет, значит работать ничего не будет?

Автор: AssassinFX 23.1.2007, 21:33
FelikZ, По идеии нет,так как у ДХ 10 полностью шейдерный конвеер,но хотя если видюха держит шейдеры нужной версии то возможно будет работать,хотя я могу ошибатся.

Автор: SimpleProger 23.1.2007, 22:36
FelikZ, работать будет, если приложение написано грамотно, т.е с учетом того, что не держит карта без Дх10, например shader model 4.0

P.S конечно, тока под Виста

Автор: FelikZ 24.1.2007, 19:19
Цитата(SimpleProger @ 23.1.2007,  22:36)

P.S конечно, тока под Виста

А что для XP разве обновлений никаких не будет выпущено?(Сервис Пак там...)

Автор: SimpleProger 24.1.2007, 20:00
Цитата

А что для XP разве обновлений никаких не будет выпущено?(Сервис Пак там...)

Ну хз. Пока не извесно, но смысл им это делать? Им же Висту продвигать надо! И вендоров видюшных тоже ;) Так что мало вероятно, тока если в некой крайности, это мое имхо

Автор: Nikitozz 20.9.2007, 00:21
кароче читал я эту тему и пришел к выводу, что OpenGL vs DirectX = ничья. я вообще-то ниселен в этом деле, только начинаю изучать эту технологию, но я выбрал DirectX.

Автор: Rickert 20.9.2007, 03:19
DX п скорости на порядок ниже.
Правда что в dx левасторонняя система координат и её нельзя сменить?

Автор: danie 14.10.2007, 08:07
Тут многие называли как достоинство DX его COM-структуру. Не сказал бы, что это плюс. Вообще, программисты видеоигр (как сказано в книжке Андре Ламота - и я ему верю, поскольку фактически тоже в некотором роде программист видеоигр, так как очень люблю заниматься именно видеоиграми) терпеть не могут COM. Именно поэтому DX пытались сделать так, чтобы скрыть его COM-структуру. Вообще же, я в API ценю логичность, удобство и простоту использования. У меня нет никакого желания искать в справочнике или в SDK описание груды параметров в какую-либо функцию. По этой причине мне DX не нравится совершенно. Груды структур от разных версий интерфейсов, невнятные параметры функций и наличие запутанных действий при включении этого DX в программу. Как особенный прикол - повторный захват объекта, после нажатия alt+tab несколько раздражает - почему бы за этим не следить самой системе. При программировании без постоянного заглядывания в SDK и книжку просто никак. Может, кому-то это нравится (есть же люди, которым нравятся сложные взаимосвязи), но я того типа, которому нравится логичность и наглядность. Поэтому DX мне совершенно не нравится. Что касается Open GL, то я занимаюсь им вот уже 7 лет и как-то обхожусь без постоянного заглядывания в книжки. Интерфейс Open GL прост и понятен, отработан, чётко ясен конвейер рендеринга и ясно на каких стадиях какая команда что включает. Вообщем, налицо та самая логичность и простота. Как сказал Гельвеций, "Знание некоторых принципов легко возмещает незнание некоторых фактов." - это как раз об Open GL. А это уже стоит очень многого. Тот же Крей говорил, что "Если система команд процессора слишком сложна, я её просто не понимаю".
Касательно набора функций под современные видеоплаты, то тут у Open GL есть плюс:  разработчикам плат не нужно ждать, когда же Microsoft выпустит DX с поддержкой новых возможностей, заложенных в новую плату. Они могут сами выпускать Open GL-расширения. Но эти расширения, конечно же, не являются стандартом. Если, конечно, ARB (наблюдательный совет по архитектуре Open GL) не внесёт их со временем в стандарт. Это, конечно, приводит к несовместимости программ, но даёт тот выигрыш, что в стандарт вносятся уже отработанные вещи, а не сиюминутные амбиции разработчиков видеокарт. По этой причине, стандарт Open GL отстаёт от сегодняшнего дня, но он выигрывает это большей отработанностью реализации и неизменностью общей структуры. Open GL строится по принципу от общего к частному. Поэтому идеология не меняется, а лишь дополняется и расширяется (до этого с 1982-го и до 1992-го предок Open GL - Iris GL был отработан и так же была отточена его концепция), чего нельзя сказать об DX . 
Что касается качества получаемой картинки, то Open GL применяется для построения фотореалистичных изображений в пакетах для создания компьютерной графики, что уже о чём-то говорит, ну и у меня ни разу не было претензий к качеству рендеринга (которое тоже настраивается - в Open GL есть команды управления качеством рендеринга  и использованием разных коррекций). В D3D же частенько картинка выглядит как-то не так (слишком яркие краски там, где цвета должны быть немного иными,  например). ( Я уже в ряде случаев на глаз могу определить, какой API использует игра.)
Ну вот, собственно, и всё.

Автор: Brain 1.4.2008, 22:36
А как же NeverWinter Nights? ИМХО, он тоже на OpenGL. Игрушка в стиле RPG, есть версия под GNU/Linux.


Ой извените, не увидел, что несколько страниц ((((

Автор: FIaR 1.4.2008, 23:13
OpenGL - это уверенность в завтрашнем дне. Каким он был много лет назад, таким он и остался. Ничего не надо переписывать из старых примерчиков. Выйдет OpenGL 3, перекомпилил пример, и делов то.

А вот DirectX - это нечто, если бы не денежки M$, то лежать бы ему на дискетке в музее уродов. И я не удивлюсь, если завтра M$ заявит, что в новой версии DirectX13 код будет читаться справа на лево, и проще будет забыть то, что знали о ранних версиях, и приступить к изучению новой, самой надежной, быстрой и как обычно сверхсовременной 3D либы DIRECTX13. "Только не забывайте качать обновления, мало ли, может мы где то чуть чуть ошиблись"

OpenGL - респект и уважуха  smile 

Автор: Kekek 2.4.2008, 19:33
Цитата(FIaR @ 1.4.2008,  23:13)
OpenGL - это уверенность в завтрашнем дне. Каким он был много лет назад, таким он и остался. Ничего не надо переписывать из старых примерчиков. Выйдет OpenGL 3, перекомпилил пример, и делов то.

Написал программу с использованием OpenGL. Работает под FreeBSD, Linux, Windows XP. Запускаю под Vista - рисует неправильно. Оказалось, что нужно включить "Композитный рабочий стол". А чтобы работало без него, нужно переписывать программу, есть список требований, для совместимости OpenGL-программ с Vista.

Так что глубоуважаемая корпораци Microsoft убивает уверенность в завтрешнем дне для OpenGL.

Автор: FIaR 2.4.2008, 22:21
Цитата(Kekek @  2.4.2008,  19:33 Найти цитируемый пост)
Так что глубоуважаемая корпораци Microsoft убивает уверенность в завтрешнем дне для OpenGL.


Осмелюсь заметить(единомышленников хватит), но глюбокоуважаемайа майкрософт убивает уверенность даже в самой себеsmile
И сегодня альтернативные юзерфрендли ОС - это уже не что то сверхестественное для умных дядек, а все более "одомашненные" системы для "простых" пользователей, где что..?? ...правильно - OpenGL.   smile 


Автор: vinter 2.4.2008, 23:01
Цитата(FIaR @  2.4.2008,  23:21 Найти цитируемый пост)
но глюбокоуважаемайа майкрософт убивает уверенность даже в самой себе

избавьте нас пожалуйста, от подобного бреда. Прочитал тему, подытожу вышенаписанное "директХ [censored33! Пожалуйста, соблюдайте элементарные правила приличия при общении на форуме] потомушта от МС, зато ОпенГЛ это круто потомушта херн его знает почему". Вы уж если бы пытались доказать что ОпенГЛ круче, то приводили бы хоть каие то факты..
Кстати объясните мне почему большинство известных игр, все таки на директе? им Майкрософт приплачивает? smile 

Автор: FIaR 3.4.2008, 08:10
Такие темы нельзя создавать, они все приводят к одному и тому же результату.

Автор: russians 4.4.2008, 09:17
Полностью согласен, создаётся лишний повод для холиваров на форуме.

Автор: $tatic 5.4.2008, 15:50
Недавно узнал, что Crysis способен показывать практически максимум своей графики и на DX9 в XP. Для этого необходимо поменять местами дллки рендера под D3D9 и D3D10, шейдеры, а затем вызвать игру с соответствующим параметром. При этом будут открыты настройки максимальной графики. Очевидно, что это скорее всего сговор MS с Crytek.

FIaR, под OpenGL 3.0 нельзя будет просто перекомпилить исходники, т.к. это будет совершенно новый API.

vinter, многие используют DX как мне кажется по следующим причинам:
  •  простота на начальном этапе (благодаря библиотеке D3DX), в OpenGL для аналогичного функционала необходимо искать сторонние библиотеки (зачастую под GPL) или писать свои;
  •  объектно-ориентированный интерфейс;
  •  более-менее одинаковое поведение у разных вендоров (ATi известна весьма неважной поддержкой OpenGL, удивительно как Кармак сумел ее обойти, а может просто 2 версии рендера написал).

ЗЫ. Сам я выбрал все-таки OpenGL.

Автор: Mephisto 5.4.2008, 16:07
Цитата(vinter @  3.4.2008,  00:01 Найти цитируемый пост)
Вы уж если бы пытались доказать что ОпенГЛ круче, то приводили бы хоть каие то факты..
Кстати объясните мне почему большинство известных игр, все таки на директе? им Майкрософт приплачивает? 

DirectX - обьектно-ориентированный, OpenGL нет, так что требуется писать обвязки собственные.
OpenGL требует больше мозгу от программиста, в DirectX банально можно меньше знать чтоб добиться того же.
И самое важное - Windows единственная операционная система у которой реализован не полный функционал OpenGL! Существуют некоторые ограничения при работе с OpenGL под виндой, некоторые мелочные, некоторые серьезные.

Я не слышал ни одного серьезного дизайнерского продукта который бы использовал DirectX. Это просто смешно. Да в принципе серьезные продукты под винду и не пишутся. smile Потому как там и OpenGL не OpenGL и альтернативы просто нет. Преимущество у Мака и точеных линухов.

Добавлено через 2 минуты и 32 секунды
Под виндой для проекта на 2 дня выбрал бы DirectX. Ибо просто и со вкусом, в другом случае выбирать особо не приходится. 

Автор: danie 26.7.2008, 08:20
Хочу показать цитату из книжки "Open GL суперкнига", цитату по истории развития Open GL и махинациях Microsoft: http://animekazan.net/forum2/index.php?showtopic=517 Хотел привести здесь, но она огромная.

Автор: Supersedes 29.7.2008, 07:27
У каждой среды свои приемущества и недостатки.

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