На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
  
> Direct3D vs OpenGL , для игр
    Какая библиотека лучше подойдет для разработки игр?
      ИМХО лучше OpenGL:
      1. кроссплатформенная
      2. быстрая
      3. у NVidia карточки OpenGL поддерживают очень хорошо.
      4. никакого тебе COM'а! :D
        1. Под linux рынка игр нет
        2. Скорость та же
        3. ATi держит плохо
        4. Чем плох COM ?

        Добавлено
        Сам-то я люблю gl, но, честно говоря, просто мне надоело в холиварах OpenGL vs D3D защищать GL, хочу разнообразия ;)
          Цитата Ivan_Govnoff @
          1. Под linux рынка игр нет

          Зато под маки есть. Такие гиганты как Id Software и Epic Games потихоньку начинают смотреть в сторону этой ОС. Можно также упомянуть BioWare.

          Цитата Ivan_Govnoff @
          2. Скорость та же

          А что, DirectX медленный? Наверное, я все-таки неясно выразился: по скорости не хуже DirectX.

          Цитата Ivan_Govnoff @
          3. ATi держит плохо

          Проблема ATI. Не покупайте фигню, берите 6600GT/6800*/78*.

          Цитата Ivan_Govnoff @
          4. Чем плох COM ?

          Непортабелен.

          Вообще, за стандартом OpenGL стоит Silicon Graphics, а за DirectX -- M$. DX никогда не выйдет за пределы десктопов x86, или, по крайней мере, очень нескоро, а всякие Cell'ы уже на подходе :)
            Цитата linuxfan @
            Зато под маки есть. Такие гиганты как Id Software и Epic Games потихоньку начинают смотреть в сторону этой ОС. Можно также упомянуть BioWare.

            Просто Кармак любит GPL, вот и релизит движки под линукс. Ему это нетрудно. А рынка нету все равно. Цена этой портабельности с точки зрения разработки игр -- почти 0. Пользователей маков еще меньше чем юзеров *nix.

            Цитата linuxfan @
            Проблема ATI. Не покупайте фигню, берите 6600GT/6800*/78*.

            Ты думаешь, что юзер будет менять видюху чтобы поиграть в твою игру?
              Цитата Ivan_Govnoff @
              А рынка нету все равно. Цена этой портабельности с точки зрения разработки игр -- почти 0.

              Разработчикам игр стоит в настоящее время усиленно смотреть вперед: появляются первые намеки на то, что скоро x86 почиет в маринаде :)
              Кроме того, следует принять во внимание отсутствие всяческих кряков в линуксе (но это из-за относительно невысокой популярности) и помножить это на растущую популярность Linux-десктопов. Кроме того, лично я бы в силу привычки к лицензионной чистоте, не поленился бы купить хорошую игру у нормального вендора, а не с лотка на радиорынке.
                Цитата linuxfan @
                Разработчикам игр стоит в настоящее время усиленно смотреть вперед: появляются первые намеки на то, что скоро x86 почиет в маринаде

                На самом деле от выбора API не так много зависит. Если через 5-10 лет случится чудо и линукс будет доминировать на десктопе -- им несложно будет переползти на gl. Те проекты, которые будут разрабатываться в ближайшие 5 лет до этого все равно не доживут.

                Цитата linuxfan @
                Кроме того, следует принять во внимание отсутствие всяческих кряков в линуксе (но это из-за относительно невысокой популярности) и помножить это на растущую популярность Linux-десктопов. Кроме того, лично я бы в силу привычки к лицензионной чистоте, не поленился бы купить хорошую игру у нормального вендора, а не с лотка на радиорынке.

                А еще есть мнение, что юзеры линукса потому и юзеры линукса, что не хотят платить деньги за софт ;)
                  Цитата Ivan_Govnoff @
                  А еще есть мнение, что юзеры линукса потому и юзеры линукса, что не хотят платить деньги за софт ;)

                  Блин после четырех линуксовых лет я
                  1. приобрел достаточную квалификацию, так что с теперешней з.п. могу позволить себе покупать софт (будь то хоть лицензионный Windows)
                  2. вкусил прелести Open Source: если что-то не работает, то tar [zj]xf source-tarball, gdb & gcc в руки -- и вперед! Хотел бы я посмотреть, как с багами в винде воюют.
                  Кроме того, ты делаешь типичную ошибку: free != free of charge. GPL'ный софт может стоит денег.
                    Цитата linuxfan @
                    Цитата Ivan_Govnoff @
                    А еще есть мнение, что юзеры линукса потому и юзеры линукса, что не хотят платить деньги за софт
                    Блин после четырех линуксовых лет я...

                    Я не имел ввиду тебя лично, может я не совсем точно выразился..

                    Цитата linuxfan @
                    Кроме того, ты делаешь типичную ошибку: free != free of charge. GPL'ный софт может стоит денег.

                    Если исходники распространяются свободно, за что брать деньги? За саппорт? Для игр это не актуально.
                      Цитата Ivan_Govnoff @
                      За саппорт? Для игр это не актуально.

                      Да я и против закрытых игр не сильно возражаю... UT2004 мне лично очень нравится. Хотелось бы Heroes of Might and Magic пятых под линукс (или чтобы под wine хотя бы нормально шли). Warcraft нативный тоже лишним не был бы.
                      Судя, например, по форумам Gentoo, немало людей готовы реально покупать линуксовые игры, только предложений на этом рынке немного. А зря! Качественных GPL/бесплатных нативных линуксовых игр не так уж много.
                        Хмм...
                        Serious Sam юзает OpenGL...
                        Только вот как они загружают модели?! :wacko:

                        А в Direct3D для этого есть СВОЙ формат(*.х) и интерфейс для него.

                        Интересно, как создать игру без модели!? :blink:
                          Цитата Alexander RUS @
                          А в Direct3D для этого есть СВОЙ формат(*.х) и интерфейс для него.

                          Интересно, как создать игру без модели!?

                          Читай доки, читай... Хотя б того же nehe (nehe.gamedev.net)... Даже директыксовые игры очень редко используют .x, обычно свой формат.
                            А OpenGL вообще не прикладывает никаких усилий по работе с файлами моделей <_<
                              Цитата Alexander RUS @
                              А OpenGL вообще не прикладывает никаких усилий по работе с файлами моделей

                              Зато и не навязывает способ хранения моделей. А зачем? Мухи - отдельно, котлеты - отдельно.
                                Цитата
                                1. Под linux рынка игр нет

                                Фигня. Изначально и Quake и Unreal писались под Linux.

                                Цитата

                                Только вот как они загружают модели?!

                                Создают собственный формат и с ним работают спокойно. Загружают-выгружают...
                                Вообще говоря, не столь актуальны .x. Гораздо интереснее так называемые BSP-модели. Но это -- сам ищи.
                                В принципе, ройся тут -- http://www.genesis3d.com. Это -- фриварный движок. Примеры здесь должны быть. Кстати, под Linux работает... :D:D:D

                                Цитата
                                Читай доки, читай... Хотя б того же nehe (nehe.gamedev.net)...

                                О! Золотые слова! И ссылка толковая. Сам читал (когда интересно было).

                                Добавлено
                                http://www.genesis3d.com/resources.php -- здесь так же кое-чего много интересного можно найти.
                                  30 мегабайт?! :wacko:
                                  Я же век его буду скачивать!!! :'(

                                  Может есть у кого версия покороче?
                                  Сообщение отредактировано: Alexander RUS -
                                    Цитата the_Shadow @
                                    Фигня. Изначально и Quake и Unreal писались под Linux.

                                    Откуда такая информация?

                                    Вот допустим что про порт quake под линукс говорит Wikipedia (курсив мой, источник информации найти несложно):
                                    Цитата

                                    When id Software released Quake in 1996, it was former employee Dave Taylor who developed a Linux port in what seemed to be his spare time. The port, released in July 1996, titled xquake had limited appeal and seemed more a proof of concept than a serious attempt at a game port.


                                    Вот что говорил когда-то Tim Sweeney про возможность портирования Unreal под linux (нашел цитату в ньюсгруппе comp.os.linux.development.apps):
                                    Цитата

                                    We can't consider this, because of the huge amount of work it would to
                                    take to convert all of the Windows-specific rendering, sound, input, etc
                                    etc etc code to Linux, and the fact that it would break and have to be
                                    re-ported with each new version. Doing this or even just coordinating it
                                    and having an external programmer do it would take way more time than I
                                    have available.
                                    Сообщение отредактировано: Ivan_Govnoff -
                                      Цитата
                                      Откуда такая информация?

                                      Ээээ... Дык! Давно уже где-то пробегала -- ещё во времена первого Unreal и намечающегося выхода Quake III Arena...
                                        Тут, кстати, читая книжку по расширениям к OpenGL, натыкаюсь на фразы автора следующего содержания: "В отличии от OGL, интерфейс D3D существенно меняется от версии к версии, т. к. необходимо поддерживать новые возможности видеоадаптеров. При этом изменения настолько существенны, что опыт и код, полученный при работе с младшими версиями, практически не применим при переходе на более новые версии". Так ли это?
                                          Цитата Flex Ferrum @
                                          Тут, кстати, читая книжку по расширениям к OpenGL, натыкаюсь на фразы автора следующего содержания: "В отличии от OGL, интерфейс D3D существенно меняется от версии к версии, т. к. необходимо поддерживать новые возможности видеоадаптеров. При этом изменения настолько существенны, что опыт и код, полученный при работе с младшими версиями, практически не применим при переходе на более новые версии". Так ли это?

                                          Это так на 200%. Примеров масса, например, шейдеры.
                                          Сообщение отредактировано: BugHunter bot -
                                            Цитата BugHunter bot @
                                            Это так на 200%. Примеров масса, например, шейдеры.

                                            Значит я выбираю OGL. :) Не вижу ни одной причины пользоваться библиотекой, которая от версии к версии кардинально меняет свой программный интерфейс. Тем более, что у OGL есть существенный для меня плюс - кроссплатформенность. :)

                                            И, кстати, это что-же получается? Либо навязывать пользователю требование пользоваться последней/заданной версией DX, либо в приложении разводить зоопарк адаптеров под разные версии DX? Не... Лучше тогда уж OGL с его механизмом расширений. По крайней мере костяк движка от версии к версии менять не надо будет.
                                              Цитата
                                              Значит я выбираю OGL. :)

                                              И это правильно, т.к. это на данный момент -- разработка "косорциума" производителей железа и софта, в который, если не ошибаюсь, M$ не входит, а не разработка одной фирмы, пусть и весьма могущественной.

                                              Кстати сказать. Во имя поддержки X-Box и связанных с нею решений, M$ (по-моему) скупила на корню ряд производителей игр (их продукцию). И только во имя того, чтобы X-Box и D3D поддержать. Я сильно ошибаюсь?
                                                Цитата the_Shadow @
                                                И это правильно, т.к. это на данный момент -- разработка "косорциума" производителей железа и софта, в который, если не ошибаюсь, M$ не входит,

                                                Ошибаешься. Входит.
                                                  Цитата
                                                  Ошибаешься. Входит.

                                                  О как! Хмммм....

                                                  Ааааа! Вспомнил! Кажется, в своё время, был такой проект -- Farenheit... Если я правильно написал...
                                                  Тогда пытались скрестить OGL и D3D... Чего-то в этом роде... И сделать какую-то унифицированную либу... Но, позвольте, это же начинание пару лет назад того-этого? Задохнулось, то ись???

                                                  Вот, наверное, чего мелкомягикие в OGL полезли... Хммм... Мдяя...
                                                    Цитата Flex Ferrum @
                                                    Цитата the_Shadow @
                                                    И это правильно, т.к. это на данный момент -- разработка "косорциума" производителей железа и софта, в который, если не ошибаюсь, M$ не входит,
                                                    Ошибаешься. Входит.

                                                    Уже не входит. Хотя "уже" здесь -- это года 3-4.

                                                    Цитата the_Shadow @
                                                    Ааааа! Вспомнил! Кажется, в своё время, был такой проект -- Farenheit... Если я правильно написал...
                                                    Тогда пытались скрестить OGL и D3D... Чего-то в этом роде... И сделать какую-то унифицированную либу... Но, позвольте, это же начинание пару лет назад того-этого? Задохнулось, то ись???

                                                    Оно уже наверное лет 5 назад загнулось...

                                                    Цитата the_Shadow @
                                                    Кстати сказать. Во имя поддержки X-Box и связанных с нею решений, M$ (по-моему) скупила на корню ряд производителей игр (их продукцию). И только во имя того, чтобы X-Box и D3D поддержать. Я сильно ошибаюсь?

                                                    Да нет, вроде ничего такого принципиального МС не покупала...

                                                    Цитата Flex Ferrum @
                                                    "В отличии от OGL, интерфейс D3D существенно меняется от версии к версии, т. к. необходимо поддерживать новые возможности видеоадаптеров. При этом изменения настолько существенны, что опыт и код, полученный при работе с младшими версиями, практически не применим при переходе на более новые версии". Так ли это?

                                                    Не совсем так. Точнее меня это как раз в свое время и отпугнуло -- я начал читать чё-то про седьмой DX, а потом вышел восьмой -- и там все было совсем по-другому, я плюнул и стал изучать GL. С другой стороны, поддерживать надо одну (девятую) версию DX. Жизненный цикл такого продукта как игрушка очень небольшой, поэтому когда выйдет следующий DX ее уже успеют все купить и забыть. И насчет "опыт и код неприменим при переходе на новые версии" -- автор очень сильно сгущает краски.

                                                    Цитата Flex Ferrum @
                                                    И, кстати, это что-же получается? Либо навязывать пользователю требование пользоваться последней/заданной версией DX, либо в приложении разводить зоопарк адаптеров под разные версии DX? Не... Лучше тогда уж OGL с его механизмом расширений. По крайней мере костяк движка от версии к версии менять не надо будет.

                                                    Откровенно говоря под DX как раз этот зоопарк небольшой. Если забить на видеокарты без поддержки GL 1.5 (а лучше 2.0), под GL он тоже будет небольшой. Если поддерживать, скажем, GeForce Titanium, или, боже упаси, MX -- проблем огребешь по самые уши. В то время комитет ARB работал хреново, и в результате у GL проблемы с поддержкой такой очень важной фичи, влияющей на архитектуру движка, как пиксельные шейдеры в этой линейке видеокарт. Эту функциональность придется реализовывать через систему кривых vendor-specific расширений или не реализовывать вообще.

                                                    Вот кстати аналогичная ветка -- OpenGL or DirectX, там я популярно объясняю почему GL мне нравится больше.
                                                      Цитата Ivan_Govnoff @
                                                      Жизненный цикл такого продукта как игрушка очень небольшой

                                                      Согласен. Зато такого продукта, как "игровой движок" - гораздо больше. Ведь не писать каждую игрушку с нуля?

                                                      Цитата Ivan_Govnoff @
                                                      Откровенно говоря под DX как раз этот зоопарк небольшой.

                                                      Под словом "адаптер" я имел в виду паттерн "адаптер". Т. е. зоопрк классов, которые абстрагируют движок от версии DX.

                                                      Добавлено
                                                      Цитата Ivan_Govnoff @
                                                      С другой стороны, поддерживать надо одну (девятую) версию DX.

                                                      А что будет, когда выдет 10я? Поддерживать только ее?
                                                        Цитата Flex Ferrum @
                                                        Согласен. Зато такого продукта, как "игровой движок" - гораздо больше. Ведь не писать каждую игрушку с нуля?

                                                        Ну не с нуля, очень далеко не с нуля. Разные версии DX выходят редко, и различаются сильно, но все же в них очень много общего. Потом, если ты пишешь игру на DX9, с выходом 10й версии, сам понимаешь, ничего не меняется, девятая остается. А если тебе нужны фичи десятой, то ты изначально на нее ориентируешься. И вообще, я как-то прикидывал, сколько процентов кода unreal завязано на конкретном API (там была поддержка и GL, и DX), так вот около 1-2% получалось.

                                                        Взять например HL2, там держится DX7, DX8 и DX9, и реализации этих трех режимов в общем похожи. Если б они писали движок на GL, у них было б как минимум три абсолютно разных рендера под NV1x, NV2x, NV3x и еще несколько (минимум два, я думаю) под ATi. Правда сейчас с этим лучше намного, поскольку на NV1x и NV2x уже почти можно забить совсем.
                                                        Сообщение отредактировано: Ivan_Govnoff -
                                                          А мне, честно говоря, и то, и другое малоприятно. В ОГЛ совершенно не ООП интерфейс, Д3Д - меняется довольно существенно от версии к версии. Ну я немножко загнул про 200%, но совсем немножко. Факт при этом остаётся фактом: при переходе с ДХ7 на ДХ9 просто перекомпилировать исходники не удастся :no:. x0ras может рассказать подробнее :yes:
                                                          Сообщение отредактировано: BugHunter bot -
                                                            http://www.unixware.ru/program_prog_id_1663.html
                                                              По своему опыту скажу, что использовать не ООП-интерфейс в ООП-приложении всё же можно (хотя бы сделав для него ООП-обёртку). А вот наоборот - проблематично.
                                                              А если немного отвлечься от игр, то поддержку OGL включает в себя любой уважающий себя компилятор, а DX ещё скачать надо (какой у него там размер?)
                                                                amk
                                                                DirectX 8.1 SDK весит 165 метров. 9 вроде бы 230. Но они содержат примеры, документацию и дополнительные средства для работы.
                                                                Для работы же нужны только библиотеки и заголовочные файлы. Весят около 5 мегов.

                                                                Цитата amk @
                                                                А если немного отвлечься от игр, то поддержку OGL включает в себя любой уважающий себя компилятор

                                                                Но для поддержки новых функций все равно придется обновлять с интерента.
                                                                  Цитата Medevic @
                                                                  Но для поддержки новых функций все равно придется обновлять с интерента.

                                                                  А как иначе? Производители должны автоматом обновления рассылать? :)
                                                                    Цитата Flex Ferrum @
                                                                    А как иначе? Производители должны автоматом обновления рассылать? :)

                                                                    Неплохо бы. :)
                                                                    Это я в ответ amk, что DirectX качать надо, а OpenGL, по его словам, как бы нет.
                                                                      Та не, фиг бы с ней, с качкой, тут вопрос об другое.
                                                                        Дааа... Сравниваю тут документы: по OpenGL (Игорь Тарасов) и по DirectX(Андре Ламот).
                                                                        Даже DirectDraw требует массу кода просто для настройки, не говоря уж об отрисовке... :wacko:
                                                                        Что будет в Direct3D, мне и подумать страшно...

                                                                        Например, задача: нарисовать перевёрнутый конус.
                                                                        В OpenGL решается в 1 страницу кода.
                                                                        А как в Direct3D?
                                                                          Цитата Alexander RUS @
                                                                          Даже DirectDraw требует массу кода просто для настройки, не говоря уж об отрисовке...
                                                                          Что будет в Direct3D, мне и подумать страшно...

                                                                          Не забывай еще о обертночном коде для COM, минимизирующем многоэтажные if-ы типа
                                                                          ExpandedWrap disabled
                                                                            if (SUCCEEDED(pI->DoSomething())
                                                                            {
                                                                               if (SUCCEEDED(pI->DoSomethingElse())
                                                                               {
                                                                              
                                                                               }
                                                                               else
                                                                               {
                                                                                  ReportError();
                                                                               }
                                                                            }
                                                                            else
                                                                            {
                                                                               ReportError();
                                                                            }

                                                                          В некоторых примерах для DD я насчитывал от 8 до 10 уровней вложенности. И это далеко не предел.

                                                                          Добавлено
                                                                          Цитата Alexander RUS @
                                                                          Дааа... Сравниваю тут документы: по OpenGL (Игорь Тарасов) и по DirectX(Андре Ламот).

                                                                          Ссылочки дай, плз.
                                                                            Цитата Flex Ferrum @
                                                                            Не забывай еще о обертночном коде для COM, минимизирующем многоэтажные if-ы типа

                                                                            Ну можно и в гл проверять каждый раз значение glGetError()... Будут точно такие же трехэтажные конструкции... Какая разница?
                                                                              Цитата Ivan_Govnoff @
                                                                              Ну можно и в гл проверять каждый раз значение glGetError()... Будут точно такие же трехэтажные конструкции... Какая разница?

                                                                              Только есть у меня смутное ощущение (которое предстоит скоро проверить), что в случае с OpenGL за счет грамотной инкапсуляции функционала в классы, многоэтажных конструкций можно избежать.
                                                                                Цитата Alexander RUS @
                                                                                Дааа... Сравниваю тут документы: по OpenGL (Игорь Тарасов) и по DirectX(Андре Ламот).
                                                                                Даже DirectDraw требует массу кода просто для настройки, не говоря уж об отрисовке... :wacko:
                                                                                Что будет в Direct3D, мне и подумать страшно...

                                                                                не ваша правда.
                                                                                во-первых, код можно один раз написать, а потом его просто использовать и не париться :)
                                                                                во-вторых, OG "по-умолчанию" (те как раз то, что у Тарасова в книжке) не поддерживает hardware rendering. его нужно включать руками. тут кода дофига, можете посмотреть срц кваки, дума. потом в og еще надо проверять какие расширения поддерживает карточка и уже от этого плясать.

                                                                                ps. я не фанат ни og, ни dx, я юзаю и то, и другое =)

                                                                                Добавлено
                                                                                в DX при инициализации (уж точно не скажу - не помню) указывается флаг "юзаем по возможности хардваре" =) и все.
                                                                                  Flex Ferrum
                                                                                  Вот сайт OpenGL'ной книги: http://opengl.org.ru
                                                                                  А вот ламотовская книга бумажная, увы - вон на полке стоит, пылится.

                                                                                  Какая ещё есть хорошая документация по DirectX?
                                                                                    Цитата Flex Ferrum @
                                                                                    Только есть у меня смутное ощущение (которое предстоит скоро проверить), что в случае с OpenGL за счет грамотной инкапсуляции функционала в классы, многоэтажных конструкций можно избежать.

                                                                                    Ну какая разница между SUCCEEDED и ASSERT(glGetError() == GL_NO_ERROR) ? И то, и другое можно и инкапсулировать куда-то, и втыкать через строчку.

                                                                                    Цитата stontaro @
                                                                                    во-вторых, OG "по-умолчанию" (те как раз то, что у Тарасова в книжке) не поддерживает hardware rendering. его нужно включать руками. тут кода дофига, можете посмотреть срц кваки, дума. потом в og еще надо проверять какие расширения поддерживает карточка и уже от этого плясать.

                                                                                    Да ну ладно, чесслово, как это там надо "включать hardware rendering" ? :blink:
                                                                                      Многие игры (как-то Serious Sam) поддерживают вывод графики как на OpenGL так и через DirectX. И обычно DX выглядит краше.

                                                                                      Вот конкретный пример: движок irrlicht. Через DX все рисует прекрасно, а через OpenGL - плеваться хочется. В этом же движке рендеринг на текстуру через OpenGL не поддерживаентся.


                                                                                      DirectX - интерфейс, оьолочка. Вы и понятия не имеете о железе пользователя, и DX сам будет когда надо использовать аппаратное ускорение.

                                                                                      DX круче, поэтому сложнее в освоении. Что-то давно не видно новых игр на OpenGL.

                                                                                      Кстати, id software не предлагать - Джону Кармаку плевать на чем писать, он бы и сам реализовал весь API (что из делал в игре wolfenstein).
                                                                                        Цитата ToshaZ @
                                                                                        В этом же движке рендеринг на текстуру через OpenGL не поддерживаентся.

                                                                                        Рендеринг через текстуру - это та фича, которая появилась только в DX9.0c? Интетесно, если сравнить дату выхода DX9.0c и соответствующего расширения для OGL, то что вышло раньше? :whistle:

                                                                                        Цитата ToshaZ @
                                                                                        DirectX - интерфейс, оьолочка. Вы и понятия не имеете о железе пользователя, и DX сам будет когда надо использовать аппаратное ускорение.

                                                                                        Ты хочешь сказать, что в OGL это не так?
                                                                                          Таакс...

                                                                                          Цитата linuxfan @
                                                                                          Разработчикам игр стоит в настоящее время усиленно смотреть вперед: появляются первые намеки на то, что скоро x86 почиет в маринаде

                                                                                          Разработчики игр никогда не будут смотреть в сторону Linux. Что до других платформ, даже x86 имеет маленький рынок относительно продуктов Sony, Microsoft, Nintendo. Разработчики в первую очередь ориентируются на другие, не x86, платформы.

                                                                                          Цитата the_Shadow @
                                                                                          Вообще говоря, не столь актуальны .x. Гораздо интереснее так называемые BSP-модели.

                                                                                          Немного путаешь. :) BSP - это HSR-алгоритм.

                                                                                          Цитата Flex Ferrum @
                                                                                          Не вижу ни одной причины пользоваться библиотекой, которая от версии к версии кардинально меняет свой программный интерфейс.

                                                                                          С выходом новых расширений OpenGL тебе все равно придется изменять архитектуру. Иногда не так координально. Это зависит от расширения.

                                                                                          Цитата Flex Ferrum @
                                                                                          Тем более, что у OGL есть существенный для меня плюс - кроссплатформенность.

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

                                                                                          Цитата Flex Ferrum @
                                                                                          натыкаюсь на фразы автора следующего содержания

                                                                                          К сожалению, профессионализм Сергея Гайдукова находится далеко от идеала. В его книгах ничего не говорится о возможных проблемах при работе с OGL, а большинство материала уже устарела.

                                                                                          Цитата Flex Ferrum @
                                                                                          Либо навязывать пользователю требование пользоваться последней/заданной версией DX, либо в приложении разводить зоопарк адаптеров под разные версии DX?

                                                                                          Обязательно! У пользователя обязательно должна быть установлена последняя версия DX. Только ты зря думаешь, что с OpenGL все так просто. Для нормальной работы расширений (не всегда всех) должны быть установлены соответствующие драйвера. В большинстве случаях их нужно периодически обновлять.
                                                                                          А вот у DirectX есть полезная штучка, называемая DirectX Effect Framework, которая позволяет писать игры под все поколения видеокарт без code-path'ов. В OpenGL геморроя еще больше.

                                                                                          Цитата Ivan_Govnoff @
                                                                                          В то время комитет ARB работал хреново

                                                                                          С того времени ничего не изменилось. ;)

                                                                                          Цитата Ivan_Govnoff @
                                                                                          в результате у GL проблемы с поддержкой такой очень важной фичи, влияющей на архитектуру движка, как пиксельные шейдеры в этой линейке видеокарт.

                                                                                          Их просто нет. GeForce 4 MX был настолько урезан, что в нем небыло программируемого конвейера. Это не проблема ARB.

                                                                                          Цитата Flex Ferrum @
                                                                                          Зато такого продукта, как "игровой движок" - гораздо больше.

                                                                                          Больше. Только все равно с появлением новых возможностей движок претерпевает большие изменения.

                                                                                          Цитата Medevic @
                                                                                          А как иначе? Производители должны автоматом обновления рассылать?

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

                                                                                          Цитата Alexander RUS @
                                                                                          Какая ещё есть хорошая документация по DirectX?

                                                                                          DirectX SDK и куча книг.

                                                                                          Цитата ToshaZ @
                                                                                          Вы и понятия не имеете о железе пользователя, и DX сам будет когда надо использовать аппаратное ускорение.

                                                                                          Ерунда! Сейчас нужно знать очень многое. Хорошее абстрагирование не получиться из-за войны вендоров. Только в OpenGL еще сложнее программировать.

                                                                                          Цитата Flex Ferrum @
                                                                                          Интетесно, если сравнить дату выхода DX9.0c и соответствующего расширения для OGL, то что вышло раньше?

                                                                                          Кстати, не так давно. :) Через 3 месяца после выхода DX9.0c появилось расширение, но не было расширения для создания пиксельного буфера. :) Еще через пару месяцев появилось и само расширение, а чуть позже - поддержка в драйверах.
                                                                                            Цитата x0ras @
                                                                                            С того времени ничего не изменилось.

                                                                                            Нет, сейчас OpenGL эволюционирует намного более своевременно, организованно и понятно для девелопера.

                                                                                            Цитата x0ras @
                                                                                            Их просто нет. GeForce 4 MX был настолько урезан, что в нем небыло программируемого конвейера. Это не проблема ARB.

                                                                                            Я в большей степени имел ввиду Nv2x. В них программировать пиксельные шейдеры в GL сложно, приходится юзать всякие нестандартные регистер комбайнеры, glEnv*() и пр. В DX есть все-таки уже шейдерный язык для этой линейки (хотя и сильно ограниченный, что наводит на мысль что внутри там все равно что-то вроде комбайнеров ;)). А в MX комбайнеры тоже есть, поэтому я их и вспомнил :). С точки зрения GL Nv1x и Nv2x архитектурно довольно схожи.
                                                                                              А кто что думает по поводу GLSL? Я все на книгу по нему облизываюсь (стоит в районе 550-650 руб в зависимости от магазина). Вот все думаю - стоит покупать или нет?
                                                                                                Ну без GLSL тебе все равно не обойтись скорее всего... Как его изучать -- по книжке или в инете что-нибудь нарыть -- смотря какая книжка :)
                                                                                                  Цитата Ivan_Govnoff @
                                                                                                  Нет, сейчас OpenGL эволюционирует намного более своевременно, организованно и понятно для девелопера.

                                                                                                  Это откуда такая информация? Приведи примеры своевременного, организованного эволюционирования, понятного девелоперу.

                                                                                                  Цитата Flex Ferrum @
                                                                                                  А кто что думает по поводу GLSL?

                                                                                                  Просто высокоуровневый язык для шейдеров. Лучше Cg, но хуже HLSL. Опять же не самая лучшая поддержка драйверами.
                                                                                                    Цитата x0ras @
                                                                                                    Просто высокоуровневый язык для шейдеров. Лучше Cg, но хуже HLSL. Опять же не самая лучшая поддержка драйверами.

                                                                                                    Да нет, сейчас уже нормальная вполне. Чем он хуже HLSL кстати? (с HLSL я незнаком, действительно интересно)

                                                                                                    Цитата x0ras @
                                                                                                    Это откуда такая информация? Приведи примеры своевременного, организованного эволюционирования, понятного девелоперу.

                                                                                                    Эээ... Ну это как приводить пример нормальной работы, скажем, утюга. :) Работает нормально, не ломается. Тут можно только контрпримеры приводить -- но их нету как раз. ARB комитет собирается, принимает разумные решения, периодически выходят новые редакции стандарта.
                                                                                                      Что-то я запутался в диамеирально противоположных мнениях - OpenGL развивается ИЛИ OpenGL совсем не развивается. :blink:

                                                                                                      Помню, играл в Serious Sam - он тоже умеет переключать graphics API. Так вот, на Direct3D раз пять вылазило окошко: "Программа выполнила недопустимую операцию...". На OpenGL такого не было ни разу. А отличия в красоте я не заметил.

                                                                                                      Говорит ли это о том, что с Direct3D сложнее работать? Или это проблема этой игры?
                                                                                                        Цитата Alexander RUS @
                                                                                                        Что-то я запутался в диамеирально противоположных мнениях - OpenGL развивается ИЛИ OpenGL совсем не развивается. :blink:

                                                                                                        Развивается. В этом году (кажется, в этом) спецификация 2.0 вышла.

                                                                                                        Цитата Alexander RUS @
                                                                                                        Говорит ли это о том, что с Direct3D сложнее работать? Или это проблема этой игры?

                                                                                                        Это может говорить, например, о кривых драйверах видеокарты. А по поводу сложности работы мне как линуксоиду все эти COM-интерфейсы представляются чем-то сильно диким. :)
                                                                                                          Цитата Alexander RUS @
                                                                                                          Говорит ли это о том, что с Direct3D сложнее работать? Или это проблема этой игры?

                                                                                                          Это проблема игры. Вообще судя по всему в таких проектах, где рендер абстрагирован от API, один из API де-факто все равно является основным. Или, если посмотреть с другой стороны, у разработчиков появляется возможность забивать на некоторые баги в драйверах, если в одном API баг, а в другом все работает нормально.

                                                                                                          Добавлено
                                                                                                          Цитата linuxfan @
                                                                                                          Развивается. В этом году (кажется, в этом) спецификация 2.0 вышла.

                                                                                                          В прошлом сентябре, если быть точным ;)
                                                                                                            Но D3DX обновляется гораздо чаще! Вон уже сколько версий наштамповали - 9! :o
                                                                                                              Цитата Alexander RUS @
                                                                                                              Но D3DX обновляется гораздо чаще! Вон уже сколько версий наштамповали - 9! :o

                                                                                                              А знаешь, сколько релизов Linux kernel было? :)
                                                                                                                Цитата Ivan_Govnoff @
                                                                                                                Да нет, сейчас уже нормальная вполне.

                                                                                                                Это ты про какие драйвера говоришь? Или, если мой шейдер компилируется на одних драйверах nVidia, но не компилируется или компилируется, но не работает на драйверах ATi, то это и есть "нормальная вполне" поддержка? Или "нормальной вполне" поддержкой можно назвать реализацию GLSL, работающую в 3-5 раз медленнее, чем аналогичный код.

                                                                                                                Цитата Ivan_Govnoff @
                                                                                                                Чем он хуже HLSL кстати?

                                                                                                                Самое простое отличие - GLSL требует видеокарту функциональности не ниже DX9. В HLSL я могу компилировать один и тот же шейдер с разными профилями для разных поколений видеокарт.
                                                                                                                Много различий, между передачей аргументов в шейдер и intrinsic-функциями.

                                                                                                                Цитата Ivan_Govnoff @
                                                                                                                Тут можно только контрпримеры приводить -- но их нету как раз. ARB комитет собирается, принимает разумные решения, периодически выходят новые редакции стандарта.

                                                                                                                :) Смешно, да. :) Последнюю работу ARB-комитета мы видели на примере выхода нового стандарта и принятию решений по поддержке расширений для рендера в текстуру. Еще не появились новые поколения видеокарт, чтобы говорить об изменениях в работе комитета.

                                                                                                                Цитата Alexander RUS @
                                                                                                                Говорит ли это о том, что с Direct3D сложнее работать? Или это проблема этой игры?

                                                                                                                Это говорит только о том, что разработчики лучше знают OpenGL, чем Direct3D.
                                                                                                                  Цитата x0ras @
                                                                                                                  Самое простое отличие - GLSL требует видеокарту функциональности не ниже DX9. В HLSL я могу компилировать один и тот же шейдер с разными профилями для разных поколений видеокарт.
                                                                                                                  Много различий, между передачей аргументов в шейдер и intrinsic-функциями.

                                                                                                                  Еще вопрос по шейдерным языкам. Насколько они совместимы? Есть ли возможность выработать такой "псеводокод" (назовем это так), который в одном случае "оттранслируется" в HLSL, а в другом - в GLSL?
                                                                                                                    По поводу архитектуры COM в DirectX:

                                                                                                                    Цитата Flex Ferrum @
                                                                                                                    Не вижу ни одной причины пользоваться библиотекой, которая от версии к версии кардинально меняет свой программный интерфейс.



                                                                                                                    С восьмом версии в DirectX больше нет DirectDraw. Но никто не запрещает им пользоваться! Подключаем интерфейс 7 версии и все! И если умеешь программировать на седьмой версии, никто не требует использовать последние версии библиотеки. Это жирный плюс технологии DX, то что игра, написанная для DX 3 будет работать и с самой последней версией.
                                                                                                                      Цитата ToshaZ @
                                                                                                                      Это жирный плюс технологии DX, то что игра, написанная для DX 3 будет работать и с самой последней версией.

                                                                                                                      Это не плюс. Это вполне нормальное требование обратной совместимости.
                                                                                                                        Ммм... Для меня плюсы и минусы Direct3D && OpenGL весьма туманны.
                                                                                                                        Есть ли у Direct3D такие плюсы, которые оставляют OpenGL за бортом?
                                                                                                                          нету
                                                                                                                            Цитата x0ras @
                                                                                                                            Это ты про какие драйвера говоришь? Или, если мой шейдер компилируется на одних драйверах nVidia, но не компилируется или компилируется, но не работает на драйверах ATi, то это и есть "нормальная вполне" поддержка? Или "нормальной вполне" поддержкой можно назвать реализацию GLSL, работающую в 3-5 раз медленнее, чем аналогичный код.

                                                                                                                            Да сейчас с этим все лучше намного чем полгода назад.

                                                                                                                            Цитата x0ras @
                                                                                                                            Самое простое отличие - GLSL требует видеокарту функциональности не ниже DX9. В HLSL я могу компилировать один и тот же шейдер с разными профилями для разных поколений видеокарт.

                                                                                                                            Блин, сколько можно -- про это я уже говорил. Да, поддержка пиксельных шейдеров на Nv2x в GL затруднена по сравнению с DX. Но Nv2x уже почти в прошлом.
                                                                                                                              Цитата Flex Ferrum @
                                                                                                                              Насколько они совместимы? Есть ли возможность выработать такой "псеводокод" (назовем это так), который в одном случае "оттранслируется" в HLSL, а в другом - в GLSL?

                                                                                                                              Полностью несовместимы. Такого способа нет. Есть только возможность использовать Cg, который можно использовать как в OpenGL, так и в Direct3D. Но этот язык почти мертв и использовать его очень сложно, особенно с ATi картами.

                                                                                                                              Цитата Alexander RUS @
                                                                                                                              Есть ли у Direct3D такие плюсы, которые оставляют OpenGL за бортом?

                                                                                                                              Смотря какое значение ты придаешь плюсам.

                                                                                                                              Цитата Ivan_Govnoff @
                                                                                                                              Да сейчас с этим все лучше намного чем полгода назад.

                                                                                                                              Лучше. Только далеко не так хорошо, как в Direct3D. Ну не хочу я думать о том, когда какие расширения разработают, сделают поддержку в драйверах. Не хочу получать тонны одинаковых e-mail'ов от пользователей и предлагать им обновить драйвера. Не хочу, чтобы мой продукт выглядел глючным из-за медленной разработки драйверов. Я знаю, что при разработке для DirectX мой продукт будет работать на любом компьютере, независимо от драйверов.

                                                                                                                              Цитата Ivan_Govnoff @
                                                                                                                              Блин, сколько можно -- про это я уже говорил. Да, поддержка пиксельных шейдеров на Nv2x в GL затруднена по сравнению с DX. Но Nv2x уже почти в прошлом.

                                                                                                                              Ух как хорошо! Давай выкинем все карты до NV2X и R300. Тем у кого игра не будет работать (таких все еще много) скажем, что они уже в прошлом. :lol:
                                                                                                                              Потом откроем любое руководство по оптимизации Graphics Pipeline, прочитаем, что нужно отправлять видюхе шейдеры с минимальным профилем и выкинем все NV3X, т.к. они умрут, если использовать только шейдеры 2.0+.
                                                                                                                              А если будем использовать Direct3D, то без напрягов сделаем поддержку даже для карт DX7-функциональности.
                                                                                                                              Или этот спор вытекает лишь из NIH-синдрома?
                                                                                                                                Главное для меня:
                                                                                                                                1) быстрота;
                                                                                                                                2) поддержка максимального количества видеокарт;
                                                                                                                                3) удобный интерфейс.

                                                                                                                                2-ой у OpenGL, похоже, отсутствует...
                                                                                                                                  GDI!!! Почему про него все забывают? Те же качества: быстрота, кроссплатформенность и притом не нужно дополнительных дров под конкретную видюху!!! Разве можно использовать OpenGL и DirectX, если не установлены конкретные дрова под конкретную видюху? А с GDI - можно! GDI forewer!
                                                                                                                                    Цитата OSokin @
                                                                                                                                    GDI!!! Почему про него все забывают?

                                                                                                                                    Потому как тормоза.
                                                                                                                                      Цитата
                                                                                                                                      GDI...кроссплатформенность

                                                                                                                                      Аффтар, не кури больше этой гадости. Это где тебе примерещилась кроссплатформенность GDI?
                                                                                                                                        Цитата OSokin @
                                                                                                                                        быстрота, кроссплатформенность


                                                                                                                                        Как раз наоборот. Фирменная технология Microsoft. Предназначена для вывода графики в обычных приложениях, не годится для игр.
                                                                                                                                          GDI. В чём кроссплатформенность? Работает только в винде, а та только на IBM PC. Да и быстрота - на любой карте используются возможности VGA/SVGA. Никаких ускорителей, кроме 2D, да и то не уверен.
                                                                                                                                            Цитата

                                                                                                                                            Никаких ускорителей, кроме 2D, да и то не уверен.

                                                                                                                                            есть ускорение, 2Д. Именно поэтому, например, нарисовать линию с помощью LineTo СУЩЕСТВЕННО быстрее, чем 200 раз вызвать SetPixel.
                                                                                                                                              Может, это потому, что SetPixel крив? ;) А если нарисовать в укромном уголке, после чего BitBlt -- что быстрее?
                                                                                                                                                При чеи тут ГДИ??? Тут вообще-то Директ3Д и ОренГл обсуждаются. <_<
                                                                                                                                                Блин, чё с раскладкой? :blink:
                                                                                                                                                  Цитата Ho Im @
                                                                                                                                                  Может, это потому, что SetPixel крив? ;) А если нарисовать в укромном уголке, после чего BitBlt -- что быстрее?

                                                                                                                                                  LineTo. И не забывай, что на вызов функции и передачу параметров тоже тратится время.
                                                                                                                                                    Цитата Чайник @
                                                                                                                                                    Цитата Ho Im @
                                                                                                                                                    Может, это потому, что SetPixel крив? ;) А если нарисовать в укромном уголке, после чего BitBlt -- что быстрее?

                                                                                                                                                    LineTo. И не забывай, что на вызов функции и передачу параметров тоже тратится время.

                                                                                                                                                    Думаю, что в случае с множественным SetPixel вместо LineTo время занимает (довольно дорогая) операция переключения между пользовательским режимом и режимом ядра (в котором идёт отрисовка драйвером). (хотя может быть я не прав). BitBlt делает переключение всего один раз, а писание в MemoryDC режим ядра не юзает.
                                                                                                                                                    Думаю, дело именно в этих волшебных пизирьках :)

                                                                                                                                                    Далее. Мне не нравится не OpenGL, ни DirectX. Так уж истерически сложилось.
                                                                                                                                                    Сообщение отредактировано: Вячеслав КПСС -
                                                                                                                                                      Цитата Вячеслав КПСС @
                                                                                                                                                      Далее. Мне не нравится не OpenGL, ни DirectX.

                                                                                                                                                      :lool:

                                                                                                                                                      Что же тогда нравится?! :blink:
                                                                                                                                                        Цитата Der Meister @
                                                                                                                                                        Что же тогда нравится?! :blink:

                                                                                                                                                        GDI
                                                                                                                                                          Цитата
                                                                                                                                                          Что же тогда нравится?! :blink:

                                                                                                                                                          Ничего не нравится :whistle: GDI в первую очередь :lool:
                                                                                                                                                          Не, не то что бы мне не нравится до тошноты и диареи - нет, всё довольно в мягкой форме :).
                                                                                                                                                          Попробовал одно - "..да, в принципе ничего, но..", попробовал другое - "да, в принципе ничего, но.."
                                                                                                                                                            Да вообще компы - отстой. Станок рабочий :)))
                                                                                                                                                              Цитата Чайник @
                                                                                                                                                              Да вообще компы - отстой. Станок рабочий :)))

                                                                                                                                                              Ну на компе еще игрушками развлечься можно. :yes:
                                                                                                                                                                маленький гвоздик в гробик ОГЛ.
                                                                                                                                                                писал гаму на ОГЛ - желание заказчика было чтоб работало на любой машине, начиная с Windows 98
                                                                                                                                                                каково было мое удивление, когда обнаружилось при тестировании, что Windows XP с неустановленными дровами от производителя - а стояли дрова от microsoft ( карточка GeForce Ti 4200 ) фпс был 6!!!!! а на машине с дровами от nVidia GeForce2 MX400 фпс был 75!!!!!
                                                                                                                                                                отмаза что типа дрова можно и самому поставить родные у заказчика не прокатила ибо не всегда это возможно ( как пример крупный офис, серетарше поставили машину ворд эксель и не ставили ей никакие дрова ибо незачем)
                                                                                                                                                                так что пролетает ОГЛ, пришлось под DX 8.0 переписывать. ( убедил заказчика что 98я винда уже нигде не встречается ))) )
                                                                                                                                                                  Цитата progman @
                                                                                                                                                                  маленький гвоздик в гробик ОГЛ.
                                                                                                                                                                  писал гаму на ОГЛ - желание заказчика было чтоб работало на любой машине, начиная с Windows 98
                                                                                                                                                                  каково было мое удивление, когда обнаружилось при тестировании, что Windows XP с неустановленными дровами от производителя - а стояли дрова от microsoft ( карточка GeForce Ti 4200 ) фпс был 6!!!!! а на машине с дровами от nVidia GeForce2 MX400 фпс был 75!!!!!

                                                                                                                                                                  Это камень в огород МС, а не opengl. Практически всем известно, что это --- стремление микрософта не распространить opengl (в том числе такими грязными трюками, как медленные драйвера для opengl и быстрые для directx). К самому opengl это отношения не имеет.
                                                                                                                                                                  Сообщение отредактировано: mo3r -
                                                                                                                                                                    Есть в словах Мозга и правда, есть и недоговорочки. Итак, внимание, вопрос: какие драйвера OpenGL необходимо установить на MS Windows, что бы они работали быстро? Подозреваю, что никакие. Возможно их можно где то достать, скачать, или даже - написать самому (!), но вопрос остаётся открытым. Вот, например, ATI - у них даже свой SDK для DirectX - а есть, а под OpenGL? Значит, не хотят. И ms тут уже ни при чём. Не надо мне рассказывать о закулисных интригах - они есть, так значит нужно участвовать. Одна беда - со стороны OpenGL нету одного сильного игрока, сравнимого с ms, Silicon Graphics похоже вообще давно уже плюнула на opengl
                                                                                                                                                                    Сообщение отредактировано: Вячеслав КПСС -
                                                                                                                                                                      Цитата Вячеслав КПСС @
                                                                                                                                                                      Одна беда - со стороны OpenGL нету одного сильного игрока, сравнимого с ms, Silicon Graphics похоже вообще давно уже плюнула на opengl

                                                                                                                                                                      Если я не ошибаюсь, то nVidia весьма активно его продвигает и развивает.

                                                                                                                                                                      Цитата Вячеслав КПСС @
                                                                                                                                                                      какие драйвера OpenGL необходимо установить на MS Windows, что бы они работали быстро? Подозреваю, что никакие.

                                                                                                                                                                      Подозреваю, что достаточно дров видеокарты.
                                                                                                                                                                        Хм, может быть я хороших карточек не видел, на моём дровяном старье OpenGL сильно тормозит. d3d тоже притормаживате, но работает терпимо. Тут даже fps-ы сравнивать не нужно. А свежие драйвера от хвалёной nVidia только усугубляют проблему - начинаются проблемы с просмотром видео и особенно - dvd.
                                                                                                                                                                        Сообщение отредактировано: Вячеслав КПСС -
                                                                                                                                                                          Цитата Вячеслав КПСС @
                                                                                                                                                                          или даже - написать самому (!)

                                                                                                                                                                          вот это --- вряд ли.
                                                                                                                                                                          Цитата Вячеслав КПСС @
                                                                                                                                                                          какие драйвера OpenGL необходимо установить на MS Windows, что бы они работали быстро?

                                                                                                                                                                          Например, родные nvidia'овские драйвера на нвидиевских карточках работают вполне прилично. Разницы в скорости между opengl и d3d я не вижу.
                                                                                                                                                                            Цитата progman @
                                                                                                                                                                            каково было мое удивление, когда обнаружилось при тестировании, что Windows XP с неустановленными дровами от производителя - а стояли дрова от microsoft ( карточка GeForce Ti 4200 ) фпс был 6!!!!! а на машине с дровами от nVidia GeForce2 MX400 фпс был 75!!!!!

                                                                                                                                                                            Тебе ещё конкретно повезло :)
                                                                                                                                                                            У тебя хоть 5 FPS было, а у меня с дефолтными дровами WinXP Pro SP2 для GeForce2 MX вообще поддержки OGL не было.
                                                                                                                                                                            Пришлось ставить дрова с сайта производителя.
                                                                                                                                                                            А вообще это не плюсы или минусы той или иной технологии.
                                                                                                                                                                            Это просто политика различных компаний в отношении этих технологий.
                                                                                                                                                                            А по-поводу SeriousSam, который тут упоминался - поддержка OGL и D3D до печки.
                                                                                                                                                                            В приведённой выше ситуации (нет OGL дров) запускаю игру.
                                                                                                                                                                            По дефолту она использует OGL, его нет, игра грязно ругается и закрывается...
                                                                                                                                                                            Возможности выбрать D3D нет всё равно, так как выбор сделан уже в графическом режиме...

                                                                                                                                                                            Добавлено
                                                                                                                                                                            И ещё один факт - некоторые производители дров делают финт ушами :)
                                                                                                                                                                            Выяснено было при помощи отладчика, правда дрова достаточно старые.
                                                                                                                                                                            Т.е. ситуация такая:
                                                                                                                                                                            пишутся дрова для OGL, а D3D используется лишь как интерфейс - надстройка, которая всё равно вызывает OGL. Или наоборот. :blink: Я реально в шоке был...
                                                                                                                                                                              Цитата cppasm @
                                                                                                                                                                              Т.е. ситуация такая:
                                                                                                                                                                              пишутся дрова для OGL, а D3D используется лишь как интерфейс - надстройка, которая всё равно вызывает OGL. Или наоборот. :blink: Я реально в шоке был...

                                                                                                                                                                              А зачем дважды реализовывать похожую функциональность?
                                                                                                                                                                                Цитата cppasm @
                                                                                                                                                                                А по-поводу SeriousSam, который тут упоминался - поддержка OGL и D3D до печки.
                                                                                                                                                                                В приведённой выше ситуации (нет OGL дров) запускаю игру.
                                                                                                                                                                                По дефолту она использует OGL, его нет, игра грязно ругается и закрывается...

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


                                                                                                                                                                                Кстати, тот же SS под OpenGL смотрится гораздо страшнее.
                                                                                                                                                                                  А при чем тут OpenGL и дрова от Microsoft? Никто же не оставляет Generic PCI IDE Controller -- все ставят дрова от мамки -- и это нормально. А для видеокарты, значит, ненормально дрова ставить?
                                                                                                                                                                                  Цитата Der_Meister @
                                                                                                                                                                                  Кстати, тот же SS под OpenGL смотрится гораздо страшнее.

                                                                                                                                                                                  Видюха ATI? Сочуствую.
                                                                                                                                                                                    Цитата linuxfan @
                                                                                                                                                                                    А при чем тут OpenGL и дрова от Microsoft? Никто же не оставляет Generic PCI IDE Controller -- все ставят дрова от мамки -- и это нормально.

                                                                                                                                                                                    При том, что есть дефолтные дрова от MS для этой карты.
                                                                                                                                                                                    Она же не отображается как Generic Video, а детектится правильно и дрова как бы для неё.
                                                                                                                                                                                    Идут с MS Windows XP. Только вот они по ходу урезанные сильно...
                                                                                                                                                                                      Цитата linuxfan @
                                                                                                                                                                                      Видюха ATI? Сочуствую.

                                                                                                                                                                                      Не, подобные лаги я наблюдал на nVidia Riva TNT2. :D

                                                                                                                                                                                      Цитата cppasm @
                                                                                                                                                                                      Она же не отображается как Generic Video, а детектится правильно и дрова как бы для неё.

                                                                                                                                                                                      Для офиса это очень удобно - никаких дров не надо ставить, все и так отлично работает.

                                                                                                                                                                                      А вот пошпилить - будь добр ставь нормальные дрова.
                                                                                                                                                                                        Цитата mo3r @
                                                                                                                                                                                        Это камень в огород МС, а не opengl. Практически всем известно, что это --- стремление микрософта не распространить opengl (в том числе такими грязными трюками, как медленные драйвера для opengl и быстрые для directx). К самому opengl это отношения не имеет.


                                                                                                                                                                                        знаешь, собственно как человеку подневольному, мне задачу поставили - ее надо реализовать, так вот мне глубоко монопенесуально кто виноват что на дровах от ХР ОГЛ жутко тормозит. Microsoft с естественным желанием DX поддержать или OGL.
                                                                                                                                                                                        у меня четко стояла задача: НА ЛЮБОЙ машине где стоит ХР или Windows2000
                                                                                                                                                                                        OGL с такой задачей не справился.
                                                                                                                                                                                          Цитата progman @
                                                                                                                                                                                          OGL с такой задачей не справился.

                                                                                                                                                                                          Логическая ошибка. Не opengl не справился, а микрософт. Т.е., микрософт не предоставляет интерфейс к видеокарте посредством opengl.
                                                                                                                                                                                            Цитата mo3r @
                                                                                                                                                                                            Логическая ошибка. Не opengl не справился, а микрософт. Т.е., микрософт не предоставляет интерфейс к видеокарте посредством opengl.

                                                                                                                                                                                            А наф это сдалосб майкрософту? :blink:
                                                                                                                                                                                              Цитата Der_Meister @
                                                                                                                                                                                              А наф это сдалосб майкрософту? :blink:

                                                                                                                                                                                              В общем-то, им это и не надо. Просто претензии у некоторых людей не к тем технологиям/организациям.
                                                                                                                                                                                                Цитата Вячеслав КПСС @
                                                                                                                                                                                                Итак, внимание, вопрос: какие драйвера OpenGL необходимо установить на MS Windows, что бы они работали быстро? Подозреваю, что никакие.
                                                                                                                                                                                                Дрова с сайта разработчика графического чипсета.
                                                                                                                                                                                                Цитата Вячеслав КПСС @
                                                                                                                                                                                                написать самому (!)
                                                                                                                                                                                                Отреверсить 3D-драйвер видюхи практически невозможно.
                                                                                                                                                                                                Цитата Вячеслав КПСС @
                                                                                                                                                                                                Silicon Graphics похоже вообще давно уже плюнула на opengl
                                                                                                                                                                                                Она не плюнула. Она умерла. :(
                                                                                                                                                                                                Цитата Вячеслав КПСС @
                                                                                                                                                                                                Хм, может быть я хороших карточек не видел, на моём дровяном старье OpenGL
                                                                                                                                                                                                Есть подозрение, что это паршивая поддержка старых карт в новых драйверах делается для того, чтобы люди покупали новые видюхи.
                                                                                                                                                                                                Цитата cppasm @
                                                                                                                                                                                                Т.е. ситуация такая:
                                                                                                                                                                                                пишутся дрова для OGL, а D3D используется лишь как интерфейс - надстройка, которая всё равно вызывает OGL. Или наоборот. :blink: Я реально в шоке был...
                                                                                                                                                                                                D3D wrapper поверх OpenGL ICD? Сомнительно это. Огласи этих драйверописателей. Кстати, у 3dfx (кто-нибудь ее еще помнит? :( ) был OpenGL wrapper, работавший через Glide.
                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                  Дрова с сайта разработчика графического чипсета.

                                                                                                                                                                                                  смотри ниже

                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                  Есть подозрение, что это паршивая поддержка старых карт в новых драйверах делается для того, чтобы люди покупали новые видюхи.

                                                                                                                                                                                                  Не люблю я теории заговоров, но вот сравнив 4 детонатора от nvidia c 2001 года по 2005, а так же родные драйвера из Win2k можно совершенно отчётливо проследить ситуацию - ситуация становится совершенно ясная. Она вот какова - ставить что либо помимо родных драйверов win2k не только не полезно, но и вредно, при этом степень вредности прямопропорциональна разнице года выпуска детонатора (по григорианскому летоисчислению) детонатора и цифры 2000. А ведь этот детонатор - дрова от производителя. (вот почему я не люблю nvidia).

                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                  OGL с такой задачей не справился.

                                                                                                                                                                                                  У меня были такие же наблиюдения, и сделаный вывод полностью соответсвовал.

                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                  D3D wrapper поверх OpenGL ICD? Сомнительно это.

                                                                                                                                                                                                  может, наоборот? ;)

                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                  В общем-то, им это и не надо. Просто претензии у некоторых людей не к тем технологиям/организациям.

                                                                                                                                                                                                  Хм. У меня претензий ни к кому нету (вроде бы).
                                                                                                                                                                                                  Сообщение отредактировано: Вячеслав КПСС -
                                                                                                                                                                                                    Цитата Вячеслав КПСС @
                                                                                                                                                                                                    смотри ниже
                                                                                                                                                                                                    А, ты об этом... Таки да, проблема. Похоже, единственный вариант -- ставить старые драйвера от нвидии.
                                                                                                                                                                                                    Цитата Вячеслав КПСС @
                                                                                                                                                                                                    может, наоборот? ;)
                                                                                                                                                                                                    Ну или наоборот. cppasm сказал, что видел то или другое.
                                                                                                                                                                                                      Цитата
                                                                                                                                                                                                      А, ты об этом... Таки да, проблема. Похоже, единственный вариант -- ставить старые драйвера от нвидии.

                                                                                                                                                                                                      Кстати, в линухе проблема та же самая - обновляем дрова через YaST, и вдруг понимаем, что нах X теперь больше не поднимается. Короче, тут дело явно не в винде, а в производителе видеокарточки.
                                                                                                                                                                                                        Цитата Relan @
                                                                                                                                                                                                        Отреверсить 3D-драйвер видюхи практически невозможно.

                                                                                                                                                                                                        Возможно (довольно успешно реверсили нвидию), но только чревато очень неприятными разборками.
                                                                                                                                                                                                        Цитата Relan @
                                                                                                                                                                                                        D3D wrapper поверх OpenGL ICD?

                                                                                                                                                                                                        Меня почему-то ничуть не удивляет. Никого же не удивляет, что многие SATA-винты -- это то же самое, что и IDE, только с "переходником".
                                                                                                                                                                                                        Цитата Вячеслав КПСС @
                                                                                                                                                                                                        Кстати, в линухе проблема та же самая - обновляем дрова через YaST, и вдруг понимаем, что нах X теперь больше не поднимается. Короче, тут дело явно не в винде, а в производителе видеокарточки.

                                                                                                                                                                                                        Ты не следишь за событиями в мире. NVidia же ясно сказала, что начиная с такой-то версии дров поддержка карт младше X (не помню точно значение "X") прекращена.
                                                                                                                                                                                                        Цитата Relan @
                                                                                                                                                                                                        Есть подозрение, что это паршивая поддержка старых карт в новых драйверах делается для того, чтобы люди покупали новые видюхи.

                                                                                                                                                                                                        Так оно и есть.
                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                          Ты не следишь за событиями в мире. NVidia же ясно сказала, что начиная с такой-то версии дров поддержка карт младше X (не помню точно значение "X") прекращена.

                                                                                                                                                                                                          Правильно, не слежу, а собсно - нафига?..
                                                                                                                                                                                                            Цитата Вячеслав КПСС @
                                                                                                                                                                                                            Правильно, не слежу, а собсно - нафига?..

                                                                                                                                                                                                            Чтобы не обновиться по ошибке.
                                                                                                                                                                                                              Цитата linuxfan @
                                                                                                                                                                                                              Цитата Вячеслав КПСС @
                                                                                                                                                                                                              Правильно, не слежу, а собсно - нафига?..

                                                                                                                                                                                                              Чтобы не обновиться по ошибке.

                                                                                                                                                                                                              Ага, уже обновлялся :). См. тематику.
                                                                                                                                                                                                                Вот совсем не хотел писать в эту тему. :)

                                                                                                                                                                                                                Цитата cppasm @
                                                                                                                                                                                                                пишутся дрова для OGL, а D3D используется лишь как интерфейс - надстройка, которая всё равно вызывает OGL. Или наоборот. Я реально в шоке был...

                                                                                                                                                                                                                Такая байка уже давно ходит по сети, но ничего подобного никогда не было и не будет.
                                                                                                                                                                                                                В основоном такой слух появился из-за того, что в Windows Vista OpenGL не будет иметь аппаратной поддержки в оконном режиме.

                                                                                                                                                                                                                Цитата BugHunter @
                                                                                                                                                                                                                Итак, внимание, вопрос: какие драйвера OpenGL необходимо установить на MS Windows, что бы они работали быстро? Подозреваю, что никакие. Возможно их можно где то достать, скачать, или даже - написать самому (!), но вопрос остаётся открытым. Вот, например, ATI - у них даже свой SDK для DirectX - а есть, а под OpenGL? Значит, не хотят. И ms тут уже ни при чём. Не надо мне рассказывать о закулисных интригах - они есть, так значит нужно участвовать. Одна беда - со стороны OpenGL нету одного сильного игрока, сравнимого с ms, Silicon Graphics похоже вообще давно уже плюнула на opengl

                                                                                                                                                                                                                Все очень просто. :)
                                                                                                                                                                                                                Мне, честно говоря, так же смешно читать многие здесь посты, как и посты типа: "Откуда скачать С++?". OpenGL - это стандарт. Его так же нельзя скачать, запустить, пощупать и т.д.
                                                                                                                                                                                                                У каждого вендора (nVidia, ATi) есть реализация текущей версии OpenGL + расширения. Это и есть драйвер.
                                                                                                                                                                                                                С DirectX'ом намного проще, т.к. там нет никаких расширений и карты имеют тот же набор возможностей (с некоторыми исключениями).
                                                                                                                                                                                                                Поэтому не стоит возмущаться на предмет поддержки OpenGL'я в стандартных(!) драйверах от Microsoft. Зачем трудиться над реализацией для разных вендоров, если ты с этого ничего иметь не будешь (все равно устанавливают свежий драйвер)? Бизнес не занимается благотворительностью.
                                                                                                                                                                                                                А сам OpenGL возможно скоро умрет, освободив дорогу более современным решениям в виде OpenGL ES. А с его стороны такие игроки, как nVidia, Sony, ATi, Imagination Technologies.
                                                                                                                                                                                                                  Цитата x0ras @
                                                                                                                                                                                                                  освободив дорогу более современным решениям в виде OpenGL ES

                                                                                                                                                                                                                  Что за зверь?
                                                                                                                                                                                                                    Flex Ferrum, а у тебя связь с гуглем пропала?
                                                                                                                                                                                                                    http://en.wikipedia.org/wiki/OpenGL_ES
                                                                                                                                                                                                                    x0ras, а почему ты думаешь, что OpenGL умрет на PC и останется только на Embedded? По секрету скажу, что есть люди, которые думают, что умрет DirectX, т. к. умрет винда :D
                                                                                                                                                                                                                      Цитата linuxfan @
                                                                                                                                                                                                                      По секрету скажу, что есть люди, которые думают, что умрет DirectX, т. к. умрет винда :D

                                                                                                                                                                                                                      А есть еще люди, которые себя Наполеонами считают. :D
                                                                                                                                                                                                                        Фигня война. Есть такие, кто разницу между 320 kbps и loseless различают.
                                                                                                                                                                                                                        Если поискать, то, думаю, можно найти редкостных талантов, которые loseless отличат на слух от оригинально pcm/AudioCD :D
                                                                                                                                                                                                                          Цитата linuxfan @
                                                                                                                                                                                                                          Есть такие, кто разницу между 320 kbps и loseless различают.

                                                                                                                                                                                                                          Ну, или думают, что замечают...
                                                                                                                                                                                                                            Цитата linuxfan @
                                                                                                                                                                                                                            x0ras, а почему ты думаешь, что OpenGL умрет на PC и останется только на Embedded? По секрету скажу, что есть люди, которые думают, что умрет DirectX, т. к. умрет винда

                                                                                                                                                                                                                            Можешь перечислить мне серьезные движки под OpenGL, кроме движков от id Software?
                                                                                                                                                                                                                              Я на OpenGL вообще только одну игрушку помню: Neverwinter. Он, кажись, на авроре был слеплен, но это дела давно минувших дней. На чем вторая часть держится -- не в курсе.
                                                                                                                                                                                                                              Но ведь есть еще игровые приставки. Там же не везде DirectX есть. Например, сделают наконец приставку на распиаренных Cell'ах и уж там-то 99% ни о Windows ни о DirectX и речи не будет идти.
                                                                                                                                                                                                                                Цитата linuxfan @
                                                                                                                                                                                                                                Например, сделают наконец приставку на распиаренных Cell'ах

                                                                                                                                                                                                                                Что-то ты отстал от жизни. :wacko:

                                                                                                                                                                                                                                Sony PS2 уж давно выпущена.
                                                                                                                                                                                                                                  Цитата Der_Meister @
                                                                                                                                                                                                                                  Что-то ты отстал от жизни. :wacko:

                                                                                                                                                                                                                                  Видимо, у тебя своя персональная машина времени. :lol:
                                                                                                                                                                                                                                  Cell будут ставить в PS3, которые выйдут в ноябре этого года.
                                                                                                                                                                                                                                    Цитата linuxfan @
                                                                                                                                                                                                                                    Я на OpenGL вообще только одну игрушку помню...

                                                                                                                                                                                                                                    На самом деле таких движков очень мало. Помимо id Software свой движок под OpenGL лицензирует CroTeam (Serious Sam). Есть еще Blizzard. Больше ничего с ходу в голову не приходит. Это капля в море.
                                                                                                                                                                                                                                    А все очень просто: с каждым годом поддерживать OpenGL'ный движок все труднее и труднее, в то время как под Direct3D таких проблем нет.


                                                                                                                                                                                                                                    Цитата linuxfan @
                                                                                                                                                                                                                                    Но ведь есть еще игровые приставки. Там же не везде DirectX есть. Например, сделают наконец приставку на распиаренных Cell'ах и уж там-то 99% ни о Windows ни о DirectX и речи не будет идти.

                                                                                                                                                                                                                                    Правильно. На PS3 и будет OpenGL ES. :)
                                                                                                                                                                                                                                    А например, на XBox всегда был DirectX, а эта консоль уже имеет большую аудиторию и постепенно отвоевывает все больший процент рынка.
                                                                                                                                                                                                                                      Цитата x0ras @
                                                                                                                                                                                                                                      А все очень просто: с каждым годом поддерживать OpenGL'ный движок все труднее и труднее, в то время как под Direct3D таких проблем нет.

                                                                                                                                                                                                                                      А в чем трудность то? Ведь тот же DirectX с каждой версией меняет набор своих интерфейсов...
                                                                                                                                                                                                                                        x0ras, а FarCry? Или там не OpenGL :unsure:
                                                                                                                                                                                                                                        Цитата Flex Ferrum @
                                                                                                                                                                                                                                        А в чем трудность то?

                                                                                                                                                                                                                                        Думаю, что трудность называется "ATI".
                                                                                                                                                                                                                                          Цитата Flex Ferrum @
                                                                                                                                                                                                                                          А в чем трудность то? Ведь тот же DirectX с каждой версией меняет набор своих интерфейсов...

                                                                                                                                                                                                                                          И правильно делает! :) Каждая новая версия имеет более логичную структуру под следующее поколение GPU. А вот механизм расширений OpenGL с этим не справляется.
                                                                                                                                                                                                                                          А сложность в том, что для нормальной работы движка требуется слишком много разного рода code path'ов, для поддержки в сущности одинакового железа. Сам понимаешь насколько дорого поддерживать такие конструкции.

                                                                                                                                                                                                                                          Цитата linuxfan @
                                                                                                                                                                                                                                          x0ras, а FarCry? Или там не OpenGL

                                                                                                                                                                                                                                          Главный рендер Direct3D. Можно включить и OpenGL, но вот беда: он нормально работает не на всех видюхах.
                                                                                                                                                                                                                                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                                                                                                                                                                                                          0 пользователей:


                                                                                                                                                                                                                                          Рейтинг@Mail.ru
                                                                                                                                                                                                                                          [ Script execution time: 0,2121 ]   [ 15 queries used ]   [ Generated: 27.04.24, 06:29 GMT ]