Обсуждение:OpenGL 3.0

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Спорная ссылка[править код]

Дмитрий Чеканов OpenGL 3 против DirectX 11: война закончена. Tom's Hardware (9 октября 2008 года). Проверено 7 декабря 2008.

Абсолютно идиотская статья. Автор либо идиот, либо гонится за дешевой популярностью. Я не фанат OGL или D3D. По долгу службы приходитсья знать оба этих API. Тем более что в геймдеве OGL довольно редко используется.

Я уже в личной переписке с боссом эту статью перетирал и на форуме delphimaster.ru. Выкладываю текст с форума и ниже напишу дополнение(Я ошибся в одном утверждении): Вот переписка: Выкладываю не с целью доказать, что OGL лучше. Я сторонник OGL, в первую очередь потому что он кроссплатформенный и открытый. Это не мешает мне работать и с D3D, когда это требуется. Особых претензий к DX у меня нет, это вполне качественный инструмент. Все претензии в основном к маркетинговой политике MS. Выкладываю с целью донести свое видение на эту войну. И с целью понять наконец, почему же DX так популярен???

P.S. на самом деле большую роль в распространении D3D играет роль мааленькая, незаметная библиотека D3DX9, которая представляет из себя набор всевозможных функция, в том числе и для загрузки моделей и текстур, в то время как в OGL приходится все самому писать, либо искать сторонние разработки. Народ просто начинает с DX, потому что там начать проще, не надо заморачиваться с загрузкой контента. Ну и плюс политика МС не последнюю роль играет. Есть еще доводы? С интересом их прочитаю.

AU: OpenGL 3 против DirectX 11: война закончена http://www.thg.ru/graphic/open_gl_3_directx_11/index.html

Мой первы комментарий(статью еще не прочитал): Да ну, очередное "завершение", войны. Я в 2004 такие статьи читал. Сейчас наоборот все только разворачивается, благодаря распространению Mac OS X. У меня уже заказы пришли на портирование проектов с DX на OGL.

После внимательного прочтения: Я бы не стал опираться на эту статью. Единственный пролет OGL - это фреймбуффер. Это факт. В статье об этом факте сказали.. и все. дальше просто реклама DX 10-11. То, что Кронос облажались с тройкой - это вопрос спорный, и не однозначный. На данный момент DX не несет какого-то функционала, который недоступен в OGL. Они вообще практически параллельно идут. Я не возьму на себя смелость сказать, что статья заказная, но явно писанная сторонником DX. Если ты беспокоишься, что мы пролетим с выбором ОГЛ, то могу сказать то, что уже говорил: -OGL пока не умирает, так что как минимум если мы выпустим игру в течении ближайших трех лет, мы не пролетим из-за выбора АПИ -ПРи желании мы без особых проблем можем портировать проекты под DX. -Я ОГЛ знаю гораздо лучше, что сказывается на качестве и скорости разработки.

AU: Не знаю насколько она заказная...я прочитал - вроде все вполне правильно написанно,...я тебе это отослал для того что, какие то моменты нужно учитывать в ходе работы, что бы не перекраивать потом все.... Прогноз на будующие там вполне реальный - в конце концов придут все равно к чему то единому, и судя по статейке все складывается явно не впользу OGL ....

Мой ответ: Саш, OGL не умрет. Могу гарантию дать. Во всяком случае сейчас нет оснований предрекать ему смерть. На счет заказанности - само название статьи говорит либо о желтизне, либо о не компетентности автора в происходящем. Назови основные тезисы статить, почему ОГЛ войну проиграл? :)) Сможешь? Я не смогу. В статье развернутые рассуждения, но реально тезисов практически нет.

Я могу сказать, где в статье бред: Поддержка GLSL шейдеров в OGL доступна аж с 2002 года, это очень легко отследить, благо в спецификации написана дата утвреждения расширения. Так что ни о каком отставании речи не идет, вполне обычная конкуренция. шейдеры же ассемблерный вообще доступны аж с 2000 года в варианте NV. Геометрические шейдеры доступны с 2006 года. Примерно в тоже время вышел DX 10. Разговор о том, что дескать разработчики вынуждены поддерживать функционал старых функций OGL, поэтому сложнее разрабатывать драйвера и прочее - да это так. ОДнако ситуация с DX ничем не отличается. Версий DX - 10 штук. При этом на современном софте запустится любая! Без вопросов. Так что в этом плане DX и OGL ничем не отличаются. Ожидать, что OGL 3.0 перекроит кислород всем проектам на старом OGL - это примерно тоже самое, что ожидать выхода машины на водородном двигателе и сразу закрытии всех заправок с обычным бензином.

Кстати, сейчас посмотрел внимательно даты выходов DX. 9 вышел в декабре 2002, именно в нем была поддержка HLSL. В тоже время поддержка GLSL появилась в OGL в сентябре 2002 года. Так что OGL не то что не отставал, он развивался быстрее. И продалжает развиваться, кстати.

За развитие DX говорит только жесткая политика Microsoft. Каких-то других плюсов какбы и нету.... Если есть - я с удовольствием их приму к сведению. Я не то, чтобы сильный противнк DX. Просто я не знаю его плюсов. При попытке узнать эти плюсы у стороников DX я слышу только два довода: 1) "Основная масса игра разрабатывается на DX" - на этот довод я хочу сказать, что это не мешает быть успешным играм написанным на ОГЛ. Вывод простой: качество и успешность игры от выбранного АПИ никак не зависит. Так что это левый довод. 2) "Расширения вводятся в стандарт очень медленно, и часто не поддерживаются видеокартами" - да это действительно так. Не в последнюю очередь от того, что Microsoft входит в ARB консорциум, который и утверждает расширения. Также и DX10 изобилует вендоро зависимыми фишками. И понятие расширений в DX также присутствует, пусть и немного в другом виде.

За развитие OGL - распространение на всех платформах, а не только от Microsoft. Это особенно актуально сейчас, когда на рынок вышел Mac, да и Linux завоевывает все новые позиции. Честно говоря я очень удивлюсь, если Microsoft не сделает DX для других платформ в ближайшее время. Это огромное упущение с их стороны. Говорить что OGL проиграл войну, это просто глупо(Можно сделать вывод либо о компетентности автора статьи, либо о желтизне). OGL в прицнипе проиграть не может, потому что есть сферы влияния, куда DX даже не совался. Согласен с тем, что DX занимает лидирующие позиции в сфере разработке игр. Но я не вижу в этом заслуги DX. Это такой же инструмент, что и OGL. и они вобщем-то равны. Каких-то серьезных разрывов нет, и врядли когда либо будут. В любом случае они всего лишь управляют видеокартой. А видеокарта одна, и возможности ее не зависят от АПИ.

Да, был затык у АРБ с фреймбуффером. Давайте теперь кадый затык называть проигрышем войны. :) Саш, не ведись на громкие названия статьей. В следующий раз лучше не присылай мне ссылку на статью, а тезисы присылай, которые показались тебе серьезными, чтобы я мог их просто прокомментировать. Потому что комментировать 5 страниц бреда - никакого удовольствия. Если хочешь я напишу такую же бредовую статью указав на пролеты DX, рассказывающую почему DX проиграл эту войну. :)

Дополнение: 1) Я ошибся когда говорил что поддержка GLSL появилась раньше HLSL. Это не так. Поддержка шейдеров в GL появилась значительно раньше поддержки шейдеров в DX(фактически видеокарты шейдеры уже имели, но DX это игнорировал, в то время как GL вполне успешно использовать), а вот высокоурвневый шейдерный язык в GL появился попозже. 2) В DX есть офигенный пролет о котором я не упомянул - возможность читать из буффера глубины. В GL она доступна с версии 1.0!!! В DX появилась только в 10. До DX 8 вообще не было НИКАКОГО способа прочитать данные из буффера глубины.

P.S. Надеюсь мои рассуждения послужат достаточным освнованием для удаления ссылки. Сам удалять не буду - не чувствую за собой такого права.

85.113.37.89 19:58, 5 июня 2009 (UTC)@!!ex[ответить]
Ответ

OpenGL vs. DirectX - это, похоже, война навеки. Я не спец по OpenGL, знаю его на начинающем уровне (типа нарисовать крутящуюся сферу, переместить кубик, наложить туман, стандартное освещение и т.д.). На DirectX не программировал вообще. Давайте сначала разберём ваши аргументы ЗА OpenGL. Итак:

  • Мультиплатформенность. Чудесно, скажу я, только не забываем, что для Мак ОС нам нужно именно GLX, для винды - WGL и т.д. Может, GLUT решит проблему? Или GLU? Вроде бы, в DirectX не нужно подбирать себе библиотеку для того, чтобы игра работала нормально на какой-то платформе. Только в OpenGL есть этот гемор с расширениями. По-сути, ты программируешь не на OpenGL, а на расширениях. Если OpenGL такой классный, то почему существуют DevIL и ещё десятки подобных библиотек?
  • Свободность и открытость. Ага. А вы знали, что одна из самых популярных библиотек для OpenGL - GLUT - проприетарная, Марк Килгард удерживает на неё авторские права и существует проект freeglut? Где же здесь открытость?
  • И напоследок. Если OpenGL такой прогрессивный, а DirectX такой отстой, то почему в геймдеве кроме Кармака его больше никто не использует? Вообще никто в геймдеве, насколько я знаю. Кстати, ссылку сходу не дам, но как-то читал, что Кармак заявил, будто он хочет перейти на DirectX.

Теперь по поводу ссылки в статье и самой статьи. Сама статья OpenGL 3.0 написана человеком, который уже давным-давно покинул википедию. При этом статья очень "грязная", в идеале её необходимо полностью переписать. Так что не ставьтесь к статье как к факту или абсолютной истине.
А вот ссылку на статью Дмитрия Чеканова добавил в статью я, так как это единственная попавшаяся мне аналитическая масштабная критическая популярная статья по OpenGL 3.0. Вы можете привести ещё ссылки - ВП:Правьте смело. По поводу удаления - сразу скажу - вряд ли. Видите ли, принцип википедии основывается на нейтральности, проверяемости и авторитетных источниках. Если кратко, то авторы википедии не могут решать, что хорошо, а что плохо. Они просто должны равнозначно описать все авторитетные и значимые точки зрения о предмете статьи. Сайт Tom's Hardware безусловно очень значимый и авторитетный, один из самых авторитетных во всём Интернете по данной тематике. И статью невозможно не упомянуть. --NeD80 20:55, 5 июня 2009 (UTC)[ответить]



Вы неправильно поняли мои слова. Я НЕ против DX. Я против конкретно статьи на thg. Прогрессивность OGL и DX вещи спорные. Они одинаковы(в этом смысл всех моих высказываний в данном обсуждении). Статья явно желтая как раз потому, что является тупо рекламой DX. Я нигде не писал что DX отстой. DX и OGL вполне заслуживают право на существование. Какие-то вещи лучше сделаны в DX, какие-то в OGL. Мой комментарий не относится к самой СТАТЬЕ. Только к ссылке на статью в thg.



По поводу ваших замечаний:

  • Мультиплатформенность. Чудесно, скажу я, только не забываем, что для Мак ОС нам нужно именно GLX, для винды - WGL и т.д.

Это не проблема. Это просто прослойка для доступа к функциям OGL предоставляемая системой. OpenGL все тот же. Просто системные функции отличаются. Учитывая что их всего с десяток, это не такая уже проблема.



Вроде бы, в DirectX не нужно подбирать себе библиотеку для того, чтобы игра работала нормально на какой-то платформе. Только в OpenGL есть этот гемор с расширениями. По-сути, ты программируешь не на OpenGL, а на расширениях. В DX(как я уже писал в своем комментарии) также присутствует понятие расширения. На самом деле нет никакой гарантии что вы установив DX требуемый для конкретной игры на самом деле сможете запустить эту игру. Кстати, функция GetDeviceCaps как раз и позволяет выяснить, какие расширения поддерживает ваша видеокарта. Вообще понятие расширений будет частью всех графических API. Без них невозможно построить современный API, т.к. оборудования очень много и ни одна видеокарта не может обеспечить 100% совместимость всех ыия.



  • Свободность и открытость. Ага. А вы знали, что одна из самых популярных библиотек для OpenGL - GLUT - проприетарная, Марк Килгард удерживает на неё авторские права и существует проект freeglut? Где же здесь открытость?


Я про свободу и открытость вообще не писал. Для проф разработчика это по барабану. По теме: GLUT вещь сырая, и ИМХО используется только в демках. Лично я ей не пользуюсь, чего и всем желаю.



  • И напоследок. Если OpenGL такой прогрессивный, а DirectX такой отстой, то почему в геймдеве кроме Кармака его больше никто не использует? Вообще никто в геймдеве, насколько я знаю. Кстати, ссылку сходу не дам, но как-то читал, что Кармак заявил, будто он хочет перейти на DirectX.


1) Отвечу цитатой самого себя. :) "При попытке узнать эти плюсы у стороников DX я слышу только два довода: 1)"Основная масса игра разрабатывается на DX" - на этот довод я хочу сказать, что это не мешает быть успешным играм написанным на ОГЛ. Вывод простой: качество и успешность игры от выбранного АПИ никак не зависит. Так что это левый довод." 2) Кармак не собирается переходить. Он уже пишет на DX. И на OGL. DX - это Windows и XBOX. А есть еще PS, Mac OS X и много других страшных платформ. Сейчас уже нельзя остаться только на одном API, т.к. игры приходится делать для массы платформ.



P.S. Прочитайте внимательнее мой комментарий. Он отвечает на многие ваши вопросы.

85.113.37.89 05:05, 6 июня 2009 (UTC)@!!ex[ответить]

85.113.37.89 05:07, 6 июня 2009 (UTC)@!!ex[ответить]


OpenGL - не умирает. Уже четверка вышла.
Valve собирается сделать все нативным для Mac. Steam будет на WebKit, а Source очевидно на OpenGL.
Вот сделать бы подарок для новичков, написав аналог библиотеки D3DX9. И предлагаю уже объединить эту статью с OpenGL.