Seaward.ru

Здравствуйте, гость ( Вход | Регистрация )

> DirectX vs. OpenGL, холивар
Алмаз
сообщение Mar 8 2010, 19:19
Сообщение #1


боцман
****


Группа: форумчанин
Сообщений: 116
Регистрация: 19-July 09
Из: Нижнекамск
Пользователь №: 20,790



DX детище MS, а MS всегда играла не чисто. OpenGL с версии 1.2 не поддерживается в Windows и при этом все вызовы OpenGL идут через DX. Как думаете, зачем это сделано? Чтоб хоть как-то сравнять уровень DX с уровнем OpenGL. Как-то, ARB и MS решили совместно создать API, включающих в себя преимущества OpenGL и DX. Что вы бы думали? MS приложила все усилия, чтобы провалить этот проект. Кстати, он назывался "Фаренгейт". Все кто программировал на DX и перешёл на OpenGL скажут, что DX - это не дело. Хотя с версии 10 ситуация стала лучше, а DX 11 способен на многое. Но! Всё, что умеет DX 11 (всё, что реально нужно при граф. программировании, а не для критических бенчмарков, хотя и с этим в OpenGL проблем нет) есть/было в OpenGL. Картинка в OpenGL на порядок качественней, чем в DX. И рисует OpenGL быстрее DX и это факт! А те, кто станет написанное здесь истину оспаривать, либо приверженец DX/MS или мало, что смыслит в графике. Тогда почему все игры на DX? Очень просто - в DX есть всё для создания полноценной игры. Звук, сеть, загрузчик изображений и мешей, матбиблиотека и многое другое. Те, кто "свяжется" с OpenGL ждёт очень много трудностей (особенно начинающих). Всё надо делать самому и не просто делать, а делать так, чтоб работало на должном уровне.

P. S. Не стоит приводить ссылки на gcup.ru - это сборище малолеток, которые за весь день на форуме только и делают, что отвечают на опросы и создают тупейшие темы. У них нет собственного оригинального материала, зайдите сами посмотрите - это просто детсад.

P. S. S. Написал сей пост я лишь затем, чтоб люди глаза разули.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
4 страниц V  1 2 3 > »   
Reply to this topicStart new topic
Ответов(1 - 19)
N.tony
сообщение Mar 8 2010, 20:25
Сообщение #2


пират
*******

Эрудит-ВсезнайкаЗаслуженный КорсарЖелезный Профессор

Группа: форумчанин
Сообщений: 1,001
Регистрация: 9-July 08
Пользователь №: 17,197



Если вы эксперт в этой области - лично мне было бы интересно ваше мнение об этой старой статье:
http://www.thg.ru/graphic/open_gl_3_directx_11/onepage.html
Я, правда, не в курсе как дела обстоят сегодня - все же полтора года прошло, но тенденция была безрадостная.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Алмаз
сообщение Mar 9 2010, 12:18
Сообщение #3


боцман
****


Группа: форумчанин
Сообщений: 116
Регистрация: 19-July 09
Из: Нижнекамск
Пользователь №: 20,790



Тогда ситуация была очень напряженной. Все, на протяжении нескольких лет, ждали 3-ю версию OpenGL, релиз которой с каждым обещанием отодвигался всё дальше и дальше, а MS это время активно продвигали DX 10, в котором было очень много интересного. Когда же появилась 3 версия OpenGL, многие были разочарованы - наобещали горы золотые, а сделали, на первый взгляд, ничего. Но это только на первый взгляд. Что OpenGL 3.0, что и DX 10 были очень жёстко подчищены. Избавились от много, в основном от старого ненужного хламья. В DX взамен появились новые фишки, а вот на тот момент OpenGL ничем особым похвастаться не мог. Оно и понятно - OpenGL кросс платформенный API, и участвует в его развитии целый консорциум - каждому было нужно своё в новом OpenGL. Из-за этого, да из-за недовольства ждущих и страждущих Khronos выпустил OpenGL в таком виде, каким он был в версии 3.0. Строго говоря, особых различий между OpenGL и DX в плане возможностей и тогда не было, а сейчас и подавно нет. А статья эта писалась либо за деньги, либо человеком разочаровавшимся в OpenGL. Серьезно, OpenGL никогда не проиграет DX. Этот API будет всегда впереди DX.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Mar 9 2010, 16:40
Сообщение #4


Разработчик игры К:ВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 14,796
Регистрация: 2-November 04
Пользователь №: 3



На чем (API) играется PS-3?
У сони свое что-то, ДХ или ОпенГЛ?
Если там тоже ДХ, то битва уже прошла и ДХ победил по факту охвата железом.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Алмаз
сообщение Mar 9 2010, 18:53
Сообщение #5


боцман
****


Группа: форумчанин
Сообщений: 116
Регистрация: 19-July 09
Из: Нижнекамск
Пользователь №: 20,790



http://www.cyberstyle.ru/publications/view...GL-DirectX.html
Оригинал: http://blog.wolfire.com/2010/01/DirectX-vs-OpenGL-revisited

http://habrahabr.ru/blogs/3d_graphics/79257/
http://habrahabr.ru/blogs/development/82682/
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
N.tony
сообщение Mar 9 2010, 20:21
Сообщение #6


пират
*******

Эрудит-ВсезнайкаЗаслуженный КорсарЖелезный Профессор

Группа: форумчанин
Сообщений: 1,001
Регистрация: 9-July 08
Пользователь №: 17,197



Цитата(Алмаз @ Mar 9 2010, 10:18) *
Оно и понятно - OpenGL кросс платформенный API, и участвует в его развитии целый консорциум - каждому было нужно своё в новом OpenGL. Из-за этого, да из-за недовольства ждущих и страждущих Khronos выпустил OpenGL в таком виде, каким он был в версии 3.0. Строго говоря, особых различий между OpenGL и DX в плане возможностей и тогда не было, а сейчас и подавно нет. А статья эта писалась либо за деньги, либо человеком разочаровавшимся в OpenGL. Серьезно, OpenGL никогда не проиграет DX. Этот API будет всегда впереди DX.
Че-то у меня ощущение, что вы недоаргументировали.
Во-первых, я так и не понял что сделали с OpenGL после 3.0 - избавились ли от наследственной поддержки старых версий? Добавили ли поддержку всех аппаратных возможностей современных видеокарт (тесселяцию ту же и т.п.)?

OpenGL врядли "всегда будет впереди", потому как по факту железо развивается рука об руку с DirectX, и nVidia и ATI контачат с майкрософтом напрямую и реализуют аппаратную и софтварную части параллельно. Каким образом OpenGL может начать поддерживать аппаратные возможности, которые в текущий момент времени только согласовываются с майкрософтом - не совсем понятно.

Upd
Почитал статьи, могу даже чуть прокоментировать:
http://www.cyberstyle.ru/publications/view...GL-DirectX.html
Статья написана с зашкаливающим количеством НЕНАВИСТИ, что, кстати, сквозит и в ваших постах. Со стороны выглядит не очень и принижает весомость аргументов. Много передергивания и мало фактов.

http://blog.wolfire.com/2010/01/DirectX-vs-OpenGL-revisited
По большей части ответы на вопросы. Как я и написал выше, OpenGL на момент в состоянии "догоняющего". Также написано, что поддержки тесселяции нет.

http://habrahabr.ru/blogs/3d_graphics/79257/
Здесь говорится, что у OpenGL в отличие от Direct3D отсутствует SDK. Для многих уже это станет точкой в вопросе выбора API.

http://habrahabr.ru/blogs/development/82682/
Перевод второй ссылки. С "комментариями экспертов".
Часть "комментариев" совсем неправильная:
Цитата
Поэтому, например, для хардкора в производительности PS3 лучше сразу OpenGL. Тут трейд-офф про скорость получения релизного кода vs скорость в рантайме.
Тут, например, совсем перевели не в дугу. На самом деле говорилось, что под PS3 предпочитают писать на libGCM. Именно оттого что он низкоуровневый, а OpenGL - высокоуровневый. Под XBox альтернативы нет, поэтому там всегда меньше оптимизировано получается.

В целом же, с "концептуальной" точки зрения OpenGL лучше, однако в реальном мире он, как и все опен-сорс продукты, сильно страдает отсутствием централизации и хорошим комьюнити.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Алмаз
сообщение Mar 9 2010, 22:33
Сообщение #7


боцман
****


Группа: форумчанин
Сообщений: 116
Регистрация: 19-July 09
Из: Нижнекамск
Пользователь №: 20,790



Знаете, что такое тесселяция? Эта фича, только под другим названием использовали те, у кого мозгов на это хватало ещё раньше до её включения в DX 11. Это очень сложно, там целая дипломная работа, я до сих пор понять не могу. Просто DX решил облегчить труд прогеров и всё. SDK - это для детей. Поверьте, в нём нет необходимости. SDK DX всего лишь набор примеров и всё. А по OpenGL'у примеров несравненно больше - просто завались. А агрессивный тон лишь потому, что надоела эта глупость про святость DX. По сути, холиваром занимаются лишь бездельники (такие как я)), а настоящие знатоки работают.

Комьюнити у OpenGL будь-здоров. А на PS3 это вообще отдельная история, жуткая история...
И OpenGL ни разу не высокоуровневый.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
N.tony
сообщение Mar 9 2010, 23:00
Сообщение #8


пират
*******

Эрудит-ВсезнайкаЗаслуженный КорсарЖелезный Профессор

Группа: форумчанин
Сообщений: 1,001
Регистрация: 9-July 08
Пользователь №: 17,197



Цитата(Алмаз @ Mar 9 2010, 20:33) *

Знаете, что такое тесселяция? Эта фича, только под другим названием использовали те, у кого мозгов на это хватало ещё раньше до её включения в DX 11. Это очень сложно, там целая дипломная работа, я до сих пор понять не могу.
Вы, видимо, так и не поняли что же такое тесселяция.
Да, первоначально она появилась в видеокартах ATI начиная с той, которая пошла в XBox 360. Может, на XBox ее даже кто-то и использовал, но я не знаю ни одного порта на PС, который бы включал в себя тесселяцию до DX11. Причиной, в основном, было отсутствие аппаратной поддержки со стороны nVidia. Полностью соорудить выделенный блок (одинаковый у nVidia и ATI) удалось только после согласования (сюрприз-сюрприз) с майкрософтом и введения ее в спецификации DX11. Если бы этого не произошло, тесселяцию бы никто так и не начал применять.
То, что вы пишете про "мозгов хватало" - либо от недостатка знаний, либо мы о разных вещах вообще говорим. Без аппаратной поддержки тесселяция - мертвый груз, такой же как и шейдеры. Никто не делает шейдеры программными, потому что это очень ресурсоемко. И точно также глупо делать программной тесселяцию. До сего момента (и еще пару лет вперед до серьезного развития инфраструктуры DX11-совместимых видеокарт) эффекта, которого должны добиваться с помощью тесселяции, достигают путем создания нескольких моделей одного и того же объекта разной степени детализированности (кажется, LOD зовется).

Цитата
Комьюнити у OpenGL будь-здоров.
Под комьюнити я имел в виду общество людей, которые пишут на OpenGL игры с передовой графикой и тем самым подают пример остальным. Скажите, помимо Джона Кармака есть ли личности, пишущие на OpenGL с графикой, достойной тягаться с современными AAA-играми?

Цитата
И OpenGL ни разу не высокоуровневый.
Как говорится, вопросов больше не имею lol.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Mar 9 2010, 23:11
Сообщение #9


Разработчик игры К:ВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 14,796
Регистрация: 2-November 04
Пользователь №: 3



У нас тут не форуме девелоперов ДХ или ОГЛ
Потому доказывать нам (особенно, по принципу удара в грудь "мамой клЯнус") не нужно smile.gif
Мы ж не бросим кодить ДХ и не кинемся кодить ОГЛ, тк сомневаюсь, что хоть 1% тут вообще кодит в ДХ.

Если же смотреть абстрактно, то массовый охват достигается
1. доступностью (простотой и СДК в том числе - а это высокоуровневость и есть)
2. поддержкой перспективными железками (консоли, ПК)
3. развитием (от производителя)
4. ценой/прибыльностью от времени вложенного в результат (условно, цена (время-деньги) одного и того же на разных двигах)

А еще есть инкапсуляция и абстракция, а в случае движка (готового) уровень ДХ (или ОГЛ), как низкого уровня, вообще должен быть скрыт и не парить разработчика.

Так что, для разработчика игры (даже с нуля) сам выбор ядра влияет лишь на низкоуровневых кодеров в его команде. Остальным, условно, пофиг, если по картинке и возможностям они схожи.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Shadow
сообщение Mar 10 2010, 00:20
Сообщение #10


капитан
*****


Группа: форумчанин
Сообщений: 375
Регистрация: 8-September 09
Пользователь №: 21,206



Ух, какое я интересное обсуждение пропустил.

Цитата
после согласования (сюрприз-сюрприз) с майкрософтом и введения ее в спецификации DX11

Нужно отметить, что теперь исчезла проблема с не поддержкой некоторых возможностей на разных видеокартах. К примеру, так было с R2VB и VTF. Одна компания поддерживала одно, другая - другое. В итоге разрабам приходилось делать поддержку и первого и второго. Ну и таких примеров масса. А вот с выходом ДХ10 всё упростилось - теперь все видеокарты поддерживают одинаковый набор возможностей, что заметно облегчает жизнь разрабам.

Цитата
эффекта, которого должны добиваться с помощью тесселяции, достигают путем создания нескольких моделей одного и того же объекта разной степени детализированности (кажется, LOD зовется)

Вы путаете, это всё же разные вещи smile.gif LOD не уйдёт с появлением аппаратной тесселяции, в том или ином виде он будет существовать (для шейдеров, текстур и т.п.)

Цитата
SDK - это для детей

Хе, спасибо, поднял настроение smile.gif


Цитата
а в случае движка (готового) уровень ДХ (или ОГЛ), как низкого уровня, вообще должен быть скрыт и не парить разработчика

+1
Да и никто не заставляет юзать встроенные функции для работы с текстурами, моделями, шейдерами и т.п. Так же как и в случае с ОпенГЛ это всё можно написать самому (а иногда даже и нужно)

Цитата
У сони свое что-то, ДХ или ОпенГЛ?

У них, к сожалению, своё и архитектура достаточно хитрая (один RSX чего стоит smile.gif ).
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
N.tony
сообщение Mar 10 2010, 02:55
Сообщение #11


пират
*******

Эрудит-ВсезнайкаЗаслуженный КорсарЖелезный Профессор

Группа: форумчанин
Сообщений: 1,001
Регистрация: 9-July 08
Пользователь №: 17,197



Цитата(Shadow @ Mar 9 2010, 22:20) *
Вы путаете, это всё же разные вещи smile.gif LOD не уйдёт с появлением аппаратной тесселяции, в том или ином виде он будет существовать (для шейдеров, текстур и т.п.)
Очень даже может быть и путаю. Но мне казалось, для текстур это будут мип-мапы, нет?
Цитата
Вы хотите сказать, что мип-маппинг - это не одна из разновидностей LOD техник?
Не знаю, честно говоря. Я бы разделял.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Shadow
сообщение Mar 10 2010, 03:03
Сообщение #12


капитан
*****


Группа: форумчанин
Сообщений: 375
Регистрация: 8-September 09
Пользователь №: 21,206



Цитата
Но мне казалось, для текстур это будут мип-мапы, нет?

Да, я с вами согласен smile.gif Вы хотите сказать, что мип-маппинг - это не одна из разновидностей LOD техник?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Алмаз
сообщение Mar 10 2010, 14:23
Сообщение #13


боцман
****


Группа: форумчанин
Сообщений: 116
Регистрация: 19-July 09
Из: Нижнекамск
Пользователь №: 20,790



Цитата
До сего момента (и еще пару лет вперед до серьезного развития инфраструктуры DX11-совместимых видеокарт) эффекта, которого должны добиваться с помощью тесселяции, достигают путем создания нескольких моделей одного и того же объекта разной степени детализированности (кажется, LOD зовется).

http://research.microsoft.com/en-us/um/people/hoppe/ Вот тут применяется методика Progressive meshe - это очень похоже на тесселяцию. Есть ещё один метод, там уже тесселяция повторяется в точности. Так, что есть ваш DX11 или нет, тесселяцию на программном уровне делается. И с чего вы взяли, что OpenGL высокоуровневый? Да вы же и в глаза не видали кода на OpenGL, наверное. И есть личности, помимо Кармака, пишущие графику на OpenGL по качеству соперничающие с AAA-играми.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
N.tony
сообщение Mar 10 2010, 23:15
Сообщение #14


пират
*******

Эрудит-ВсезнайкаЗаслуженный КорсарЖелезный Профессор

Группа: форумчанин
Сообщений: 1,001
Регистрация: 9-July 08
Пользователь №: 17,197



Если вы решили продолжить беседу переходя на личности, я, пожалуй, прекращу.
Цитата(Алмаз @ Mar 10 2010, 12:23) *
Да вы же и в глаза не видали кода на OpenGL, наверное.
Году в 2003-м (или в 2004-м) был полугодичный курс по OpenGL. Я, конечно, писал только детсадовские приложения (из законченного сделал арканоида и генерацию трехмерного лабиринта с автоматическим поиском кратчайшего пути), но этого хватило чтобы ознакомиться с предметом.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Алмаз
сообщение Mar 11 2010, 14:17
Сообщение #15


боцман
****


Группа: форумчанин
Сообщений: 116
Регистрация: 19-July 09
Из: Нижнекамск
Пользователь №: 20,790



Нет, нет, я и не думал переходить - ненавижу срач. Просто задело ваше предложение - "Как говорится, вопросов больше не имею lol.gif ". А насчёт вашего опыта в OpenGL - этого недостаточно для суждения для API, вообще. Такие задачи можно решить даже на уровне GDI. Явно никакой специфики OpenGL в ваших приложениях не было. Я так считаю)). Ладно, каждый при своём мнение. Я только хотел, чтоб люди не велись на чужие суждения, а делали выводы сами.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
tislic
сообщение Jul 3 2010, 12:21
Сообщение #16


боцман
****


Группа: форумчанин
Сообщений: 125
Регистрация: 11-April 07
Пользователь №: 7,115



Начнем с простого, какие карточки nVidia поддерживают DirectX 11?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 3 2010, 21:36
Сообщение #17


Разработчик игры К:ВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 14,796
Регистрация: 2-November 04
Пользователь №: 3



С этим вопросом в тему харда\видяхи
Или в гугл набери, ответ замылен уже
Нвидя токо новые 4хх серии
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
tislic
сообщение Jul 5 2010, 21:50
Сообщение #18


боцман
****


Группа: форумчанин
Сообщений: 125
Регистрация: 11-April 07
Пользователь №: 7,115



Я с какого ракурса на эту тему смотрю

XP - directx 9.0c, Vista - 10, win 7 - 11

Если центральный процессор 4-х яйцевый и ещё 64 битный, то конечно win 7 и следовательно будет стоять directХ 11

Под игры нужна хорошая видео карточка, где лучше всего будут считаться соотношение производительности и цены

Пятая линейка ATI HD 5750, 5770 но их обходит Radeon HD 4870 из-за пропускной способности шины памяти, но зато они прореживают DirectХ 11, задумываешься не взять ли HD 5830, 5850

Говорить о DirectX vs. OpenGL не совсем корректно без расмотра видео карточек ибо у конкурентов есть такая фишка PhysX называется.

Видо ролик PhysX in Batman Arkham Asylum
http://www.youtube.com/watch?v=6GyKCM-Bpuw...player_embedded

Первая минута это показ гемплея, остальные девять сравнение, c начала идет видео фрагмент когда PhysX используется, потом идет этот же фрагмент, но когда PhysX не используется, то есть, то что будет у обладателях карточек Radeon. Разница меня пострела, я до сих пор под впечатлением
А для игры нужен всего directХ 9.0c
PhysX используется в Microsoft Windows, Linux, Mac OS X, Xbox 360, PlayStation 3, Nintendo Wii

По моему Eddy говорил, что за рубежом твориться следующее, если игру нельзя портировать на Xbox 360, то издатели даже не хотят разговаривать.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Алмаз
сообщение Jul 5 2010, 22:25
Сообщение #19


боцман
****


Группа: форумчанин
Сообщений: 116
Регистрация: 19-July 09
Из: Нижнекамск
Пользователь №: 20,790



Цитата(tislic @ Jul 5 2010, 22:50) *

Я с какого ракурса на эту тему смотрю


О чём ты вообще?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
tislic
сообщение Jul 6 2010, 09:54
Сообщение #20


боцман
****


Группа: форумчанин
Сообщений: 125
Регистрация: 11-April 07
Пользователь №: 7,115



Цитата
И рисует OpenGL быстрее DX и это факт!

Рисует карточка
Цитата
О чём ты вообще?

Игры пишутся под железо, а ни под DirectX и т.п.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

4 страниц V  1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19th November 2018 - 01:28
Яндекс цитирования Rambler's Top100
Rambler's Top100