Rich Geldreich из компании Valve начал (http://richg42.blogspot.ru/2014/05/things-that-drive-me-nuts...) дискуссию о проблемах в OpenGL. Joshua Barczak, участвовавший в разработке игры Civilization V, поддержал начинание (http://www.joshbarczak.com/blog/?p=154) и поделился своими размышлениями по данному вопросу. Среди основных пробоем, мешающих разработке игр на базе OpenGL, называется существенная фрагментация реализаций OpenGL для разных операционных систем, разрозненное качество драйверов OpenGL, проблемы с многопоточностью и обработкой ошибок. По мнению Joshua изменить ситуацию может только полный редизайн OpenGL, без этого OpenGL не сможет конкурировать в области разработки игр с такими API, как Mantle (http://www.opennet.me/opennews/art.shtml?num=38476) и Direct3D.
В качестве оппонента выступил (http://aras-p.info/blog/2014/05/31/rant-about-rants-about-op.../), Aras Pranckevičius, один из разработчиков игрового движка Unity, который заявил, что распространению OpenGL мешают не технические, а политические проблемы, в частности, отсутствие поддержки OpenGL в Windows из коробки. По умолчанию Windows поставляет только драйверы Direct3D, в то время как большинство пользователей довольствуются предустановленными драйверами и не выполняют их обновление до драйверов от производителей видеокарт.Graham Sellers из компании AMD также не согласился (http://www.phoronix.com/forums/showthread.php?101053-Former-...) с доводами о технических проблемах OpenGL и указал на то, что критикующие толком не изучили OpenGL и их опыт работы основан на поверхностной оценке состояния устаревших выпусков OpenGL, в то время как в OpenGL 4.4 многие проблемы потеряли актуальность.
URL: http://www.phoronix.com/scan.php?page=news_item&px=MTcwNjc
Новость: http://www.opennet.me/opennews/art.shtml?num=39905
>называется существенная фрагментация реализаций OpenGL для разных операционных систем, разрозненное качество драйверов OpenGL, проблемы с многопоточностью и обработкой ошибок.Стоп! Так это проблемы не самого ОpenGL, а реализации OpenGL на различных платформах.
Т.е., если честно, то я не совсем понимаю, что они хотят добиться в результате дискуссии. Это им надо общаться с представителями Mesa и подобных библиотек.
>>называется существенная фрагментация реализаций OpenGL для разных операционных систем, разрозненное качество драйверов OpenGL, проблемы с многопоточностью и обработкой ошибок.
> Стоп! Так это проблемы не самого ОpenGL, а реализации OpenGL на различных
> платформах.
> Т.е., если честно, то я не совсем понимаю, что они хотят добиться
> в результате дискуссии. Это им надо общаться с представителями Mesa и
> подобных библиотек.То есть есть какой-то идеальный сферически-вакуумный OpenGL, а во всем виноваты реализации? Прям как коммунизм - он сам идеален и велик, только реализации ни в … ни в .. :-)
Ну вот же некий Sellers тыкает носом критиков в то, что они критикуют древние версии OpenGL. К новым версиям эта критика неприменима.
Т.е. -- да, виноваты реализации не поддерживающие спецификацию в полном объёме.
> Ну вот же некий Sellers тыкает носом критиков в то, что они
> критикуют древние версии OpenGL. К новым версиям эта критика неприменима.
> Т.е. -- да, виноваты реализации не поддерживающие спецификацию в полном объёме.Он критикует далеко не только это, еще в том числе и сам подход, который фрагментирует OpenGLи не дает его довести да вменяемого состояния, а здесь упреки в реализации уже не канают - это уже изначальная проблема самого OpenGL
С директикс конечно нет таких проблем. Какая последняя версия для икспишечки? А для висты? А для семёрочки? А для 8.1? А дальше хотелки новая винда - новый директикс и никак иначе. А так да, проблем никаких.
Расскажи-ка мне, какую версию OpenGL поддерживает Ubuntu Warty Warthog ?
Или Гейтс лично должен прикрутить DirectX 11 к MS-DOS ?
Убунту покупать не нужно, да и смысла сидеть на старых версиях нет.
В отличие от...
Можешь поставить любую нужную тебе версию.
>Или Гейтс лично должен прикрутить DirectX 11 к MS-DOS ?Помнится один мой студент своим друзьям хватался, что на "старый" XP прикрутил каким-то образом новый дыректИкс и получил картинку, цит., "как в новой винде".
Так, что - да, пущай прикручивает. :)
> Расскажи-ка мне, какую версию OpenGL поддерживает Ubuntu Warty Warthog ?Возьми любой Linux, выпущенный после 2003 года, и установи туда драйвер NVIDIA. Звук не найден, сетевая карта не найдена, чипсет ввода/вывода через медленный generic-драйвер... Зато Doom III выдаёт вот такенный FPS на NVIDIA GeForce GTX 680! И я сейчас серьёзно, посмотри и офигей: ftp://download.nvidia.com/XFree86/Linux-x86/304.121/README/m...
О моделировании и планировании ничего не слышал?
> О моделировании и планировании ничего не слышал?Я верю, что их преподают на уроках информатики в 9 классе :-)
Рик считает проприетарный драйвер NVIDIA самым приятным в плане разработки: иногда через дополнительные расширения можно сделать лучше, гораздо лучше, чем через обычный OpenGL. Но иногда в официальном OpenGL у NVIDIA сделано так, как они считают нужным, а не по спецификации OpenGL, поэтому иногда бывает что программист жалуется на баг в Catalyst, который на самом деле отработал как надо. Catalyst он считает глюкодромом, в новых версиях которого ломают совместимость со старыми программами, а когда приходит hotfix, он ломает что-нибудь ещё. Причина - слои плохого кода, написанного людьми, которые в AMD больше не работают. Но сильная сторона Catalyst - хорошая поддержка основных расширений OpenGL. Про Intel он написал что на разработчиков драйвера трудно по-настоящему разозлиться, так как видеоакселлераторы в Intel не приоритетное направление. Драйвер считает хорошим, но железо слабое.Ещё он говорил про средства разработчика. У NVIDIA бедны, у AMD хороши, у Intel их нет. Подробнее: http://richg42.blogspot.ru/2014/05/the-truth-on-opengl-drive...
со старыми программами = с работавщими до этого программами
Притом на https://bugs.freedesktop.org куча пруфлинков на косяки нвидии. Но горепрограммисты прозомбированы Хуанговской пропагандой.
Ему там в каментах написали, что после мобильных графических решений и поддежки ими OpenGL, десктопные драйвера покажутся ему тропическим раем
они хотят просто дискредитировать OpenGL в глазах общественности, что неясного то?
они сами не являются специалистами по OpenGL, но активно его критикуют
Ну да, конечно, OpenGL не может конкурировать с Mantle, о котором вообще мало кто слышал и с DirectX, который есть только под винду, которая начинает терять свои позиции как игровая платформа.
Статистика той же вулвы в помошь :-) Линукс первые проценты, т.е. вообще за пределами техпогрешности :-)
Про Sony PlayStation 3 не слышал? Тогда какого ты тут рассуждаешь о разработке игр?
> Про Sony PlayStation 3 не слышал? Тогда какого ты тут рассуждаешь о
> разработке игр?Про Xbox не слышал? Тогда какого ты тут рассуждаешь о
разработке игр?
© :-)
>> Про Sony PlayStation 3 не слышал? Тогда какого ты тут рассуждаешь о
>> разработке игр?
> Про Xbox не слышал? Тогда какого ты тут рассуждаешь о
> разработке игр?
> © :-)и как xbox сопоставляется с opengl?
Он противопоставляется -- там DirectX :)
Ты не ответил на вопрос.
> Про Sony PlayStation 3 не слышал? Тогда какого ты тут рассуждаешь о
> разработке игр?У ps3 своя библиотека для разработки игр. Другое дело в ps4 вроде opengl.
В PS3 есть OGL и низкоуровневое API. Это примерно как C и язык Assembler'а.
> вродеСвои гадания на публику выносить не обязательно.
http://en.wikipedia.org/wiki/PSGL
>Sony's PlayStation 3Читать разучилсо?
В статистику "вулве" не входят как целые пласты платформ (консоли хыбокс/пс3-4/..., андроидо-иосы и тд), так и целые классы ААА-игр, которые банально не распространяются через стиам.Другими словами — статистика продаж резиновых женщин в хлебо-булочном если и не близка как аналог, то и не далеко ушла. Например для мака — есть игры, которые стоят дешевле через яблочный сервис, чем через стим. Также как есть маководы, которые про стим даже и не слышали.
Три вида лжи — ложь, большая ложь и статистика. Упор на последнию хорош только как попытка подняться в своём ранжировании тролля.
Зыж
Тем временем ведьмак2 (под линух) таки скачался (>18Gb!!!), пойду попробую.
А вы пока считайте дальше.
> В статистику "вулве" не входят как целые пласты платформ (консоли хыбокс/пс3-4/..., андроидо-иосы
> и тд), так и целые классы ААА-игр, которые банально не распространяются
> через стиам.
> Другими словами — статистика продаж резиновых женщин в хлебо-булочном если и не
> близка как аналог, то и не далеко ушла. Например для мака
> — есть игры, которые стоят дешевле через яблочный сервис, чем через
> стим. Также как есть маководы, которые про стим даже и не
> слышали.
> Три вида лжи — ложь, большая ложь и статистика. Упор на последнию
> хорош только как попытка подняться в своём ранжировании тролля.То есть статистика это ничто, вера это все :-) Ясно. Ну веруете, кто против, только тогда ds будете выглядеть как сектанты :-0). Линукс на десктопе это первые проценты, линукс на играх это первые проценты, и это прекрасно бьется.
Старания зачислить в линукс все что можно в дискуссии об OpenGL приводят к тому, что вы зачислите в линукс и венду - под нее тоже есть игры на OpenGL :-)
> То есть статистика это ничто, вера это все :-) Ясно.Кстати, ведьмак2 завёлся, работает.
Прикольная игрушка.
Вы там пока поупражняйтесь в вопросах веры, а я пойду поиграю. Ок? :D
Если ты потрудишься прочитать новость, то возможно сможешь заметить что слов Linux там нет. Ты пришёл в тему про OpenGL и начал нести чушь про Linux, у тебя всё хорошо с головой? Всё указывает на то что верующий сектант здесь только ты. Модераторы, пожалуйста, займитесь делом и избавьте тему от этого неграмотного придурка.
> Если ты потрудишься прочитать новость, то возможно сможешь заметить что слов Linux
> там нет. Ты пришёл в тему про OpenGL и начал нести
> чушь про Linux, у тебя всё хорошо с головой?Ты сначала тред прочитай, головастик :-)
>> Если ты потрудишься прочитать новость, то возможно сможешь заметить что слов Linux
>> там нет. Ты пришёл в тему про OpenGL и начал нести
>> чушь про Linux, у тебя всё хорошо с головой?
> Ты сначала тред прочитай, головастик :-)Зачем читать твои тупые высеры не по теме? Я как раз хочу что бы сообщений не по теме тут не было.
>>> Если ты потрудишься прочитать новость, то возможно сможешь заметить что слов Linux
>>> там нет. Ты пришёл в тему про OpenGL и начал нести
>>> чушь про Linux, у тебя всё хорошо с головой?
>> Ты сначала тред прочитай, головастик :-)
> Зачем читать твои тупые высеры не по теме? Я как раз хочу
> что бы сообщений не по теме тут не было.Хотеть не вредно, головастик :-)
>>>> Если ты потрудишься прочитать новость, то возможно сможешь заметить что слов Linux
>>>> там нет. Ты пришёл в тему про OpenGL и начал нести
>>>> чушь про Linux, у тебя всё хорошо с головой?
>>> Ты сначала тред прочитай, головастик :-)
>> Зачем читать твои тупые высеры не по теме? Я как раз хочу
>> что бы сообщений не по теме тут не было.
> Хотеть не вредно, головастик :-)Быть дегенератом, к сожалению, тоже не запрещено :-( Привет родителям передавай.
А это известный мазохист серйоженька. Его на лоре еле выкинули - трут и банят, а он снова регится. Как тот вратарь "а я кланяюсь, кланяюсь.
> Зыж
> Тем временем ведьмак2 (под линух) таки скачался (>18Gb!!!), пойду попробую.
> А вы пока считайте дальше.И весело будет если игра не заработает .Официально потдерживается только карточки Nvidia ,для AMD пока в тестирование(доработке) .Так что проблем$ есть ...
Возможно.
У меня оптимус (через примус).
Но это было в "зыж". К теме опенжл на различных платформах имеет отношение частного случая (тем более что через лэер с дх).
> OpenGL 4.4
> Mesa 10.1.4 (May 20, 2014) implements the OpenGL 3.3 API.Они просто о разных вещах говорят. Ругающим просто недоступны фичи из 4.4
Кстати, АМД планирует чесаться и делать Mantle под linux? Или это чисто виндовый костыль
Проблема действительно есть. Не такая актуальная как казалось бы, но есть и её надо как-то решать.
Например для макоси (для одной версии!!! ОС — Mavericks) есть градации поддерживаемых версий opengl в зависимости от установленной видео-карты (пруф — http://support.apple.com/kb/HT5942).
От 3.3 до максимальной версия 4.1 (с апдэйдами меняется конечно, но…).
Тоже в линухе.
Поэтому игроделу приходится либо ограничиваться минимальной версией, либо количеством пользователей. При этом определить версию opengl до покупки игры не каждый способен, потом опускает карму игроделам гневными комментами в стиме/этк.
"Поэтому игроделу приходится либо ограничиваться минимальной версией, либо количеством пользователей." - это крайне печальный игродел. В OpenGL есть функции для определения версии API. Есть три профиля контекста. Есть расширения. В чем проблема-то? Зачем ограничиваться?
> "Поэтому игроделу приходится либо ограничиваться минимальной версией, либо количеством
> пользователей." - это крайне печальный игродел. В OpenGL есть функции для
> определения версии API. Есть три профиля контекста. Есть расширения. В чем
> проблема-то? Зачем ограничиваться?Про три профиля я соврал. Два профиля (Core, Compatibility) + forward compatibility флаг.
Есть ещё ES, который часто реализуется вместо полного OpenGL.Но в целом, претензии к OpenGL у товарищей из той же оперы, что и претензии к Linux в целом — фрагментация, фрагментация, а также фрагментация.
> Есть ещё ES, который часто реализуется вместо полного OpenGL.
> Но в целом, претензии к OpenGL у товарищей из той же оперы,
> что и претензии к Linux в целом — фрагментация, фрагментация, а
> также фрагментация.И что, это все неправда, потому что это он сказал или чуть раньше мигель? Линукс един и неделим как советский народ? :-)
> "Поэтому игроделу приходится либо ограничиваться минимальной версией, либо количеством пользователей." - это крайне печальный игродел. В OpenGL есть функции для определения версии API. Есть три профиля контекста. Есть расширения. В чем проблема-то? Зачем ограничиваться?Ещё раз повторяю — в мэверикс (последняя макось) нет опенжл 4.4, только 4.1 (и ниже, см. ссылку).
Вот в линухе есть (и то местами), а в макоси нет. И дрова там только из состава ОС.
И это реальная проблема для кросс-разработки.И вообще, что значит зачем ограничеваться?
Есть трудозатраты, окупаемость, сроки.
Популизм за свой счёт не проходит никогда.
планируют. Закончат хз когда. Начнут делать тоже хз когда.
планируют, но денег что-бы сделать это вотпрямзавтра нет. а ну и програмистов тоже не хватает..
Киношники моделируют кинореалистичное 3D на OpenGL, и их всё устраивает. Если когда-то что-то не устраивало, то когда-то давно, и их собственные GL_EXT_* уже давно стали GL_ARB_*.Из обсуждения этой новости на ЛОР-е:
>>>> Global context state and the binding pattern sucks. The DSA (direct state access)-style API should be standard/required.
>>> Дальше дядю можно не читать, он кретин.
>> почему кретин? что плохого в том, чтобы обращаться к объектам напрямую, не делая bind (где это возможно)? сейчас это простое расширение, а он хочет чтобы это было в core profile. вполне логично.
> плохо в этом как минимум то, что API начнет пестрить вызовами по 15 аргументов a-la winapi.
> Киношники моделируют кинореалистичное 3D на OpenGL, и их всё устраивает.Киношники делают это не в реалтайме. В определенном смысле много щщастья им даже не торт, иба долго рендерится - дольше контракт длится, дольше зарплата капает. Сиди, да кури, если в дедлайн укладываешься. Профит. Опять же на ферме помощнее вендорам и реселлерам с интеграторами попилинг пожирнее. Снова профит.
Ещё один неосилятор.
Да, давайте напишем новый, сферически-правильный OpenGL, и подождем N лет, пока его поддержка расползется на все платформы.
>и подождем N летБоюсь N мало. Думаю не меньше P времени придётся ждать...
Ну хоть не NP, и на том спасибо.
> Ещё один неосилятор.
> Да, давайте напишем новый, сферически-правильный OpenGL, и подождем N лет, пока его
> поддержка расползется на все платформы.Такой уже давно написан. Софтварный. Например под Linux Mesa идеально рисовала весь второй OpenGL на CPU, и пока ты не установил NVIDIA или Catalyst всё рисовалось через Mesa. Но подавляющее большинство линуксоидов забыло о Mesa на 10 лет - все 00-е годы. А когда AMD открыла спецификации на видеокарты, и когда появился драйвер Intel, про Mesa вспомнили, и он очень пригодился.
> Но подавляющее большинство линуксоидов забыло о Mesa на 10 лет - все 00-е годы.С чего бы это?
Лично я в 00-е первым делом после установки системы устанавливал драйвер NVIDIA или FGLRX. Я же только играл и крутил кубик Compiz, а не моделировал 3D. Для финального моделирования я бы задействовал CPU, особенно если GPU от ATI.
> Такой уже давно написан. Софтварный.Это который Render: software?
Складывается ощущение, что многие программисты не знают и существовании core profile и чем он отличается от compatible profile.
>в частности, отсутствие поддержки OpenGL в Windows из коробкиесли уж на то пошло, то в Виндовс и директх часто не обновленный и почти любая более-менее популярная игра тащит его за собой.
Что мешает тащить и опенгл?
Игрухи тянут именно директх, а не драйвера с поддержкой директх
>>в частности, отсутствие поддержки OpenGL в Windows из коробки
> если уж на то пошло, то в Виндовс и директх часто не
> обновленный и почти любая более-менее популярная игра тащит его за собой.
> Что мешает тащить и опенгл?нежелание МС продвигать невыгодную им технологию
А причем тут МС? тащит за собой игродел.
OpenAL же не обламываются тащить, что мешает и OpenGL?
> А причем тут МС? тащит за собой игродел.
> OpenAL же не обламываются тащить, что мешает и OpenGL?Патаму что первое работает, в отличии от .. :-)
>> А причем тут МС? тащит за собой игродел.
>> OpenAL же не обламываются тащить, что мешает и OpenGL?
> Патаму что первое работает, в отличии от .. :-)OpenGL тоже работает, в чём проблема?
Long story short, the Intel Linux graphics driver is continuing to move along, promptly support new hardware, and is developed by a well-staffed group compared to the open-source AMD Linux graphics driver (or the community-based Nouveau for open-source NVIDIA driver support), but still its OpenGL support isn't on par with the Intel Windows OpenGL driver.
http://www.phoronix.com/scan.php?page=article&item=intel_nuc...
МС давно уже не тащит:
вышла из игростроительной организации (название забыл)
делает только для себя
жаль шо OpenGL не взлетел, иначе тогда бы Winduws XP еще жив был бы
В каком месте он не взлетел, маня?
Мак, линукс, все игровые приставки (кроме хбокс), смартфоны, планшеты (кроме куцого меньшинства от мс). Если это - не взлетел, то директикс - студенческая поделка для отображения квадратных гномов.
> жаль шо OpenGL не взлетел, иначе тогда бы Winduws XP еще жив был быОн и так живее всех живых. Правда, в апреле прекращён выпуск обновлений безопасност, ждём статистики по ОС теперь.
Для некрофилов есть вариант притвориться банкоматом, прописав что-то в реестр, и получать обновления (может, конечно, обновления для банкоматов не совсем подходят, но лучше, чем ничего).
> Для некрофилов есть вариант притвориться банкоматом ...... и начать раздавать окружающим деньги. :)
Неужто последние версии openglного api приблизились по мозго#бности к direct3d?
Настоящий спец по OpenGL(u know, one of the guys who actually made those specifications) уже откоментировал о том что большая часть проблем решена в 4.4, а автор просто жалуется на то что было когда-то и не имеет отношения к действительности.
Хоть одну игру, использующую OpenGL хотя бы версии 3.0, назовёшь? Кроме Unigine.
Metro: Last Light (3.2), Planetary Annihilation (3.2+), ну и все портированные игры на Unreal Engine 3 тоже вроде как GL3.
> Хоть одну игру, использующую OpenGL хотя бы версии 3.0, назовёшь? Кроме Unigine.SS:BFE
Это диверсия. Xorg, sysvinit, теперь и opengl. Забавно то, что АПИ директ3d 1-в-1 повторяет АПИ opengl.
> называется существенная фрагментация реализаций OpenGL для разных операционных системА для каких еще операционных систем существует Direct3D?
Опеннет, ну ты чего? Авторы все правильно говорят насчет фрагментации и дело тут не поддерживаемых функциях, а в разных таймингах этих функций на разных платформах.
Сейчас существует 3(винда)+5(линукс)+3(макось)=11 разных реализаций OpenGL, которые может и совместимы по функциям (но не всегда), но не совместимы по таймингам их выполнения. Игры это не финальный рендеринг, где объем задачи=const, тут надо выдавать FPS, а как его выдавать если в разных реализациях функции выполняются с разной скоростью.
Кроме того в коммерческой разработке требуется прогонять ci(юнит тесты, бенчмарки и т.д.) по это невменяемое количество платформ. И все это еще не считая консолей.
По вашей логике, если бы OpenGL работал бы только на одной платформе и только на видеокартах одного производителя, то был бы круче DirectX3D :)
Ну логика логикой, а пока Valve стремится потеснить консоли, им нужно что-то унифицированное придумывать, либо каким-либо образом выдавливать эту унификацию из вендоров.
> Ну логика логикой, а пока Valve стремится потеснить консоли, им нужно что-то
> унифицированное придумывать, либо каким-либо образом выдавливать эту унификацию из вендоров.Консоли продают ниже себестоимости, а прибыль получают от игр. Вульва хочет консоль за 700 баксов, которую будут делать другие, а прибыль от игр забирать себе.
Донельзя эффективная экономическая модель :-) Dell вульву уже послала в эротическое путешествие с такими заявами.
> Dell вульву уже послала в эротическое путешествие с такими заявами.И много от этого делл выиграла?
У?Скатываешься до нископробного студента-тролля. А как дышал то по-началу, как дышал...
>> Dell вульву уже послала в эротическое путешествие с такими заявами.
> И много от этого делл выиграла?Бабло :-)
Срочно откапываем Glide )
> Срочно откапываем Glide )сначала у nvidia разрешения спроси, копатель
>> Срочно откапываем Glide )
> сначала у nvidia разрешения спроси, копательНе надо нечего спрашивать .Glide правда версия вроде 2 (насчет 3 не знаю ) 3DFX открыла перед своей смертью.
В старых версиях X была даже библиотека для работы с этим ари , порывались даже написать эмулятор чтобы работало это ари на любой современной карточке .
Точно так.
> в коммерческой разработке требуется прогонять ci(юнит тесты, бенчмарки и т.д.) по это невменяемое количество платформ.Пичалька, да? В коммерческой разработке работать надо, а не только капусту рубить.
жуть какая, да. ты ещё забыл упомянуть о том, что разные процессоры с разной скоростью работают. поэтому у игроделов есть Секретные Подвалы, где куча комнат, до потолка забитых матплатами, и куча китайцев, которые запускают-запускают-запускают… и один секундомер на всех, чтобы мучались сильнее.
linux это ядро, а OpenGL нет, вот в чем проблема
А вы думали создатель Unity который построен на opengl и amd которое участвует в создании оного ,встанут прям так и скажут мы 20 лет херней маялись ?
Я думаю, что в результате обсуждения может родиться истина, если будут развернутые ответы специалистов по каждому пункту (или они уже есть?). Т.е. я думаю, что тех, кто защищает ОГЛ можно попросить рассказать как решена каждая проблема в новых версиях... Ну а то, что M$ не ставят по умолчанию драйвера с поддержкой ОГЛ, лечится только закапыванием Виндовс (можно, конечно, попробовать многомиллиардные штрафы, но практика показывает, что не всегда помогает).
Graham Sellers из компании AMD написал: I think I might have to write another blog post soon. Т.ч. посмотрим...
Да из пальца высосали и ежу понятно ,ну не входит в базовую поставку накати ,говорят так как будто для этого нужно в секретные интернеты лезть и смс отправлять .Уверен в 99% софта который его требует все либо само там устанавливается либо есть на сайте ссылка .А бабушке Людмиле насрать есть у нее ОГЛ в компе который ей Петя собрал ,она в Гта не играет ,а тот кто играет поставит ,гарантирую.
дык специфики OGL в том нет.
у других апи - та-же байда.
и таки-нет, это не минусы, а скорее побочка (слабо;)конкурентного рынка.
и едва ли творцы CivV бы образовались немедля образвовавшимся болячкам одно-вендорного и однополярного, мира.
а товарищ из амд - вообще не тему про опенджл начал возникать - они все никак не осилить могли WDDM 1.2 дрова для венды(долго пилили и подглючивали они, поначалу), но допилив .. дропнули их поддержку, начиная с 14.6 :-)))) оно конечно всем хочется бонус и славу за 95% буст перформанса с MSAA, который суть заслуга WDDM1.3 скорее а потому, все что старше, но живет и дышит - должно умереть. заметьте - не висты, хп, поддержку дропнули, ни 32-битных драйверов а операционной системы двух лет от роду ) нефиговый себе имидж компания создают, таким макаром :=)
Нашли с чем сравнивать кто то видел порты Direct3D на другие платформы?
wine?
В мезе полуживые реализации есть.
> Нашли с чем сравнивать кто то видел порты Direct3D на другие
> платформы?да кому он нужен ?
даже на винде-то ?
как только появился NVapi, mantle.
да что там, даже графические фичи - уже Внутри апи - тасуют из Direct3D в DirectCompute ;) что как-бы. неплохо характеризует приоритеты и потребности, разработчиков :=)
Очень много троллинга с обеих сторон. Попробую описать проблемы и заблуждения.
Прежде всего технического характера, связанные с OpenGL. Итак, вендоры. Я тут не хочу особо останавливаться, просто могу объяснить, что OpenGL достаточно низкоуровневый API. Многие особенности, что в Direct3D считаются фичами (например рендеринг в отдельном потоке) OpenGL программисты реализуют по своему усмотрению. От сюда и все возможности shared контекстов, MakeCurrent'ов. Это огромный плюс, но и естественно ошибок в драйвере может быть намного больше. Это нормально, что я ещё могу сказать. На моем опыте 3 закрытых багрепорта (Mesa), связанные с потоками. Могу сказать, что открытые драйвера очень хорошо работают если не пытаться работать с очень новыми фичами. Блобы наоборот новые фичи хорошо поддерживают, но есть проблемы с базой. Связанно все с тем, что в Mesa требуется некоторое время для тестирования, а блобы раньше не уделяли особого внимания linux драйверам до недавнего времени, вот и остался "пузырь проблем". Ещё одна неприятная вещь в Mesa это то, что они остановили разработку compability profile на 3.0, а не на 3.2. Просто Core profile появился с версии 3.2. И если мы создаем core profile контекст без указания версии, то система инициализации не может понять, что мы хотим включить именно core profile. Легко исправляется добавлением версии контекста, так что неприятно, но не проблема.
Далее про инициализацию контекста. Версия ставиться для гарантии того, что ARB расширения этой версии будут работать, но это не значит, что EXT расширения и ARB, которые появились в дальнейших версиях отдаются на ручное включение программистом. Тот же glew с этим прекрасно справляется, так что не стоит думать, что версия OpenGL является пределом использования. Просто не все ARB расширения следующей версии OpenGL реализованы. Я это к тому, что требование к игре связаны с использующими расширениями, а не версией OGL, и не является проблемой, если разраб явно не указал версию создания контекста (ну то есть хорошие разрабы создают 3.2 core profile контекст, а потом уже сами по мере необходимости подрубают расширения). Так что проблема версий OGL является проблемой качества написания кода, использующий OGL, а не проблемой OGL. ну ещё PSGL != OGL. Там даже язык шейдеров другой.
Вывод: Joshua Barczak не осилил спецификацию. Проблем OGL нет, просто есть куча проблем, связанные с OGL.
Я согласен с Арами… Пранкевичусом. Во-первых, историю про MiniGL уже не все помнят, а она имела место быть и тут мы должны быть благодарны компании Microsoft за наше несчастное детство. Во-вторых, декларировать требование поддержки определённой версии OpenGL от вендоров — единственный путь к соблюдению технологического нейтралитета.В третьих, наличие нескольких API никогда не было технической преградой — до недавнего времени те же D3D игры писались одновременно для Dx9 и для Dx11 — за примерами далеко ходить не надо — внезапно это всё та же Civilization V.
собсно Embedded GL - как раз цвете и развивается бурно.
в отличие от мэйнстримного )
Проблема разрозненного качества драйверов OpenGL и проблемы с многопоточностью точно есть. Самое плохое что нужно писать множество реализаций одних и тех же задач чтобы работало везде. Помоему должна быть одна софтварная реализация всех функций, которая обязательно должна быть везде и поддерживать все последние расширения opengl. В случае отсутсвия поддержки каких=то расширений дровами - она должна задействоваться незаметно для программиста. И потом она должна ставиться максимально просто, без обязательного обновления ядра.
А вообще, если совсем правильно, никакой opengl и шейдеры не нужны, нужна поддержка работы напрямую с видяхой в компиляторе.
> А вообще, если совсем правильно, никакой opengl и шейдеры не нужны, нужна
> поддержка работы напрямую с видяхой в компиляторе.assembler?
Проблема OpenGL - сам OpenGL. Надо предоставить программистам прямой доступ, и пускай они воротят что им нужно.
> Проблема OpenGL - сам OpenGL. Надо предоставить программистам прямой доступ, и пускай
> они воротят что им нужно.поздравляю - вы изобрели Khronos Group ;)
добавьте правда, сверху - бюрократию из всех мемберов(а это - без малого сотня, только крупных вендоров ;) и в целом - сильно отличаться от ISC, IANA или Microsoft - не будет. то-же про гугль, анб, акамаи и тп )
Процессоры так работают, почему для видях надо было воротить всякие API?
> Процессоры так работают, почему для видях надо было воротить всякие API?Скучаете по старым добрым DOS-овским временам, когда каждая мало-мальски серьёзная игра тащила с собой свою собственную пачку драйверов под разные видеокарты?
> Скучаете по старым добрым DOS-овским временам, когда каждая мало-мальски серьёзная игра
> тащила с собой свою собственную пачку драйверов под разные видеокарты?Так видь и разработали во времена дос для унификации драйверов стандарт Vesa .А сейчас стандарт Vesa подхвачен UEFI ,совместимая с UEFI карточка также может работать с унифицированным UEFI драйвером .Говорят и 3-д ускорение в отличие от VESA потдерживаються в этом стандарте -не знаю где проверить .Но видел в магазинах только 1 видиокарточку с совместимостью с UEFI :-(
> Процессоры так работают, почему для видях надо было воротить всякие API?потому что устроены они сильно по-разному
> Процессоры так работают, почему для видях надо было воротить всякие API?желаю удачи в написании больших проектов на ассемблере, а потом портировании на другие архитектуры.
> Проблема OpenGL - сам OpenGL. Надо предоставить программистам прямой доступ, и пускай
> они воротят что им нужно.Ну и наворотит кодер с опеннета такое, что глаза придется на ж..пе искать :-)
Хороших кодеров единицы, остальные это массив пены, и если дать этой пене возможность ляпать что она хочет, она и наляпает.
Изначально, OpenGL разрабатывался совсем не для того чтобы использовать его для игр. Это была библиотека которой пользовались ученые для серьезных целей, а не для развлечения. А вот что касается D3D, то его первоначально как раз и разрабатывали для развлекательных целей, для людей, чтобы картинка на экране была привлекательней и чтобы было сложно оторваться от монитора. Поэтому если хотите чтобы OpenGL занял лидирующие позиции в игровом секторе, то надо четко и ясно выделить и наверно отделить те компоненты OpenGL, которые максимально строго предназначены для геймдевелоперов. Это надо для того чтобы новые люди(те которые только-только начинают открывать для себя мир трехмерных игр), которые впервые заинтересовались разработкой игр, чтобы они не тратили много времени на взвешивание преимуществ и недостатков, а максимально быстро приходили к заключению, что ДА, действительно OpenGL это лучшее что только может быть для самой крутой офигенной игры, которую захотят купить миллиарды людей. Ну и конечно же сам девелопер должен быть и маркетологом и пиарщиком и т.д.
А можно немного конкретики? Какие компоненты стоит выделить и отделить? Иначе как-то не очень ясно о чём именно вы ведёте речь.
Это вам надо наверно в другой кабинет. Я не могу тут в разделе комментариев написать именно для вас целую конкретную книгу. Могу только направить ваш ум в нужную сторону, а дальше вы сами уже разберетесь, если на самом деле интересуетесь. Перво наперво вы должны обратить внимание на обозначение OpenGL... Open Graphic Library (открытая графическая библиотека), - из этого можно понять только то, что речь идет о графике. В самом обозначении отсутствует конкретика, ибо графика это понятие широкое. Далее попытайтесь(возможно даже через силу) сравнить с тем, как компания Майкрософт отнеслась к системе обозначений, например Direct3D, ... все кто интересуются играми знают(в разной степени) что такое 3D, ибо большинство игр используют трехмерные модели, ландшафты, сцены и т.д. А вот есть еще у Майкрософта DirectDraw(точнее раньше был), который отвечает(точнее раньше отвечал) за отрисовку двумерных сцен. То что DirectDraw больше не разрабатывается, это не должно вас сбивать с толку, ибо в книгах и в других источниках об этом всегда найдутся ссылки. Так вот, я о том, что разработчикам библиотеки OpenGL надо более серьезно отнестись к концепции и более серьезно определить и отделить то что можно выделить в отдельные направления разработки. Это надо для того чтобы легче было структурировать информацию в головушке. А чем проще структурировать информацию, тем легче представить себе ясную картину изучаемого предмета.
На поставленный вопрос вы так и не ответили. Пустопорожня болтовня "эффективного" диванного менеджера. У вас ГСМ образование, я надеюсь? Или вы позорите гордое имя технического специалиста подобным балабольством?
если попробовать выделить из твоего комментария смысловую часть, то получится пустота. это потому, что тебе просто нечего сказать.
> Поэтому
> если хотите чтобы OpenGL занял лидирующие позиции в игровом секторе, то
> надо четко и ясно выделить и наверно отделить те компоненты OpenGL,
> которые максимально строго предназначены для геймдевелоперов.Поздравляю -вы только что повторили идею библиотеки SDL .Правда эта библиотека надстройка,
но позволяет не заморачиваться что за система звука и графически движок,джостики ,клавиатура и т.д .
На самом деле я не открывал, это майкрософт открыл... я просто обратил внимание... а тут смотрю, как раз люди дерутся, я такой думаю, дай ка я щас воткнусь.
> Это была библиотека которой пользовались ученые для серьезных целейIrisGL. А OpenGL - спецификация, из которой убрано лишнее и добавлено нужное.
Да вобще с приставкой GL много всяких библиотек.
> Да вобще с приставкой GL много всяких библиотек.только вот OpenGL появился из IrisGL
Ага, и еще у них есть приставка GL.
Apple забила на OpenGL - https://developer.apple.com/library/prerelease/ios/documenta...
Apple отчаянно сама себе роит могилу.
"Nobody is going to bother to support ios if they don't support GLES. Android __dominates__ the mobile marketspace, especially for game sales." - комментарий с похороникса полностью описывает ситуацию.
Может и роет. А может и нет.>Nobody is going to bother to support ios if they don't support GLES
DirectX тем не менее поддерживают - и ничего.
>Android __dominates__ the mobile marketspace, especially for game sales
В количестве или в суммах продаж?
>DirectX тем не менее поддерживают - и ничего.Исторически так сложилось
>В количестве или в суммах продаж?Сумме продаж
Пруф про то, что Android обходит iOS по выручке в играх плиз.
Мои знакомые, которые кодят под iOS и Андройд, последний воспринимают как элемент благотворительности, но ок, дайте ссылку.
> Андройдумри, пожалуйста.
>Сумме продажВаловой по всему гуглоплею или в расчете на одну игру?
Вобщем надо делать так: OpenGL для света и тени, OpenGL для моделей, OpenGL для материалов, OpenGL для текстур, OpenGL для анимация графики, OpenGL для системы управления анимацией, OpenGL для отрисовки интерфейсов и т.д. Тогда, если строго следовать моим советам, можно будет отвоевать позиции у DirectX... а потом и вовсе разорвать в пыль весь DirectX и вообще весь майкрософт превратить в труху!!!
> Вобщем надо делать так: OpenGL для света и тени, OpenGL для моделей,
> OpenGL для материалов, OpenGL для текстур, OpenGL для анимация графики, OpenGL
> для системы управления анимацией, OpenGL для отрисовки интерфейсов и т.д. Тогда,
> если строго следовать моим советам, можно будет отвоевать позиции у DirectX...
> а потом и вовсе разорвать в пыль весь DirectX и вообще
> весь майкрософт превратить в труху!!!то есть воспользоваться разделением от МС по направлениям…
Aras Pranckevičius - неадекват, вы попробуйте запустить любую современную игрушку или видео высокого качества или WebGL и подобные приложения, да даже Blender, на дефолтных видеодровах винды, большинство игрух просто не зупустится, те которые запускаются выдают смехотворный фпс. На каждом третьем компе будет тормозить ютуб со средним по нынешним меркам качеством. Какие уж там 4, 8 и 16к...OpenGL - это всегда жёсткая привязка к видеокарте. Хочешь новые эффекты к игре - каждые полгода (4-6 мес) покупай новую видюшку.
Linux всего-то нужен свой аналог DirectX.
Ну да, OpenGL плохо тянет враппер DX->OGL, давайте теперь ругать OGL, потому что пишем игры на DX, а потом почему-то плохо они работают через Wine и всякие врапперы..
Пфф..
Ну так требовать от других полной переделки OpenGL проще, чем самим переделывать свой движок, изначально заточенный под D3D. :)
На мой взгляд OpenGL слишком абстрагирован. На каждый пук нужно свое расширение. Надо понизить уровень, сделать всё более проще и универсальнее, чтобы программисты не зависели от поддежки тех или иных расширений, чтобы не нужен был инстансинг и батчинг.
> не зависели от поддежки тех или иных расширенийНо вот ведь незадача — разные GPU поддерживают разные наборы фич.
Многие расширения чисто программные. Если бы у программистов сразу был достаточный уровень доступа, пускай даже только к памяти, они бы сами реализовали тот же FBO, VBO, VAO на видяшках, поддерживающих только первую версию OpenGL. И без ogl прослойки эти реализации работали бы гораздо быстрее.
Сейчас до сих пор чтобы нормально работать с массивом в шейдере - его надо заливать как текстуру. И других некостыльных способов просто нет. Уровень работы OpenGL очень высок. Но и одновременно с этим они поудаляли квады и линии, не понятно куда всё катится.
Всё это разговоры в пользу бедных. Либо вендоры видеокарт договорятся сольют кучу бабла и запилят/продвинут новый _высокоуровневый_ стандарт, либо они не договорятся и ввалят кучу бабла в допиливание реализаций OpenGL и обучение мартынов. Пока все как и раньше идет согласно второму сценарию.