Комментарии 102
OpenGL нужно использовать хотя бы небольшой группе людей для сохранения конкуренции.
Думаю что новым возможностям OpenGL надо доучиваться, а новым DirectX переучиваться. Однако выбор мой определила доустановка второй рабочей ОС GNU/Linux, а так же желание использовать некоторые открытые библиотеки, которые как ни странно :) почему то не используют DirectX для отрисовки графики.
А вообще пусть каждый сам для себя решает. Если как утверждают некоторые разработчики OpenGL действительно лучше, так надо наоборот радоваться, что конкуренты пойдут на заведомо худший продукт. Это же только опенсорсники добрые души делятся с миром, но те уже и так определились.
А вообще пусть каждый сам для себя решает. Если как утверждают некоторые разработчики OpenGL действительно лучше, так надо наоборот радоваться, что конкуренты пойдут на заведомо худший продукт. Это же только опенсорсники добрые души делятся с миром, но те уже и так определились.
Честно говоря, бросил OpenGL после неудачной попытки настроить Vertex Buffer Objects, ибо это ад наяву.
Злостных кодеров вроде Кармака, которые способны брутфорсом подобрать правильный порядок из 15 OGL вызовов, к сожалению, почти нет.
Злостных кодеров вроде Кармака, которые способны брутфорсом подобрать правильный порядок из 15 OGL вызовов, к сожалению, почти нет.
Если у вас не получилось сделать даже такую простую вещь, то действительно лучше не беритесь за OpenGL.
Вот как пример для кубика. Извиняюсь за assembler — под рукой только такой код.
Вот как пример для кубика. Извиняюсь за assembler — под рукой только такой код.
генерация: glGenBuffers 1, offset vbo_vertex_ind glBindBuffer GL_ARRAY_BUFFER, vbo_vertex_ind glBufferData GL_ARRAY_BUFFER, 8*(3*(2*sizeof(DWORD))), offset vbo_vertex, GL_STATIC_DRAW glBindBuffer GL_ARRAY_BUFFER, 0 ... вывод: invoke glEnableClientState, GL_VERTEX_ARRAY glBindBuffer GL_ARRAY_BUFFER, vbo_vertex_ind glBindBuffer GL_ELEMENT_ARRAY_BUFFER, vbo_face_ind invoke glVertexPointer, 3, GL_FLOAT, 2*(3*sizeof(DWORD)), NULL invoke glDrawElements, GL_TRIANGLES, 36, GL_UNSIGNED_INT, NULL
Вы забыли про наложение текстуры, нормали и данные вершин.
Этот кусок и вырезан из полноценного кода.
Я не стремился дать готовый вариант. Цель была — показать, что работа с VBO ничем не отличается от работы со многими другими основополагающими элементами в OpenGL: дисплейные списки, текстуры, шейдерные программы. Во всех случаях работает одна и таже связка gen+bind+vertex. И в итоге один масштабный draw.
Я не стремился дать готовый вариант. Цель была — показать, что работа с VBO ничем не отличается от работы со многими другими основополагающими элементами в OpenGL: дисплейные списки, текстуры, шейдерные программы. Во всех случаях работает одна и таже связка gen+bind+vertex. И в итоге один масштабный draw.
Кто-нибудь помнит последний успешный движок, с рендером на OGL?
irony
Кармак продал душу, OpenGL забыт, всем срочно паниковать.
irony
Кармак продал душу, OpenGL забыт, всем срочно паниковать.
Unigine. Поддерживает и DX, и OGL.
Речь идет не о местном тормозящем движке, вы же понимаете. Говоря о громких тайтлах, то кроме движка от Starbreeze ничего с ogl и не вспомнить.
ogre
Если бы не Torchlight, то нам было бы очень грустно, правда? Становится особенно грустно, глядя на его российское коммьюнити.
>Речь идет не о местном тормозящем движке, вы же понимаете.
А о чём? Топовых игр поддерживающих OpenGL огромное количество. Конечно, они ещё чаще всего и DirectX держат, так не в этом суть.
Есть существенный разрыв между играми для Windows и Linux (без wine). А вот между играми Windows которые держат только DirectX и играми, которые держат и DirectX и OpenGL разрыв несущественный.
И ещё надо помнить, что OpenGL тормозит только с дровами от майкрософт (интересно почему бы это :) ). После установки винды ставьте дровишки вашей видеокарты от ATI или NVidia и всё будет путём.
А о чём? Топовых игр поддерживающих OpenGL огромное количество. Конечно, они ещё чаще всего и DirectX держат, так не в этом суть.
Есть существенный разрыв между играми для Windows и Linux (без wine). А вот между играми Windows которые держат только DirectX и играми, которые держат и DirectX и OpenGL разрыв несущественный.
И ещё надо помнить, что OpenGL тормозит только с дровами от майкрософт (интересно почему бы это :) ). После установки винды ставьте дровишки вашей видеокарты от ATI или NVidia и всё будет путём.
На микрософтовских он чуть ли не софтвейрно там обрабатывается.
Кстати, дрова которые поставляет Windows 7 через обновления — нормально поддерживают OpenGL или нет?
Кстати, дрова которые поставляет Windows 7 через обновления — нормально поддерживают OpenGL или нет?
Пробовал — скорость отрисовки упала почти в 10 раз. Более-менее вернул дровами от Intel (тестил на Asus eeePC 1005HA, win7).
А если на более-менее современных картах от ATI\nVidia?
Это была GMA945. На более-менее новых не проверял, вообще Виндой почти не пользуюсь. На нетбук ставил только с целью погонять тесты. Но с дровами от Intel получил в системе OpenGL 1.4 и DX9 с (софтварной правда) поддержкой шейдеров 3.0.
Source поддерживает обе платформы: и OGL, и DX.
Не поддерживает, есть выделенные сервера и все. Эмуляция не в счет.
а причем тут связь серверов и графической библиотеки?
В том, что единственная связь между линуксом и source — выделенные сервера, такие дела.
Эм. мы вроде говорим о графических библиотеках, а не о том, умеет ли source работать с линуксом. Сетевой код — это совсем далеко от графики.
Source OpenGL умеет, но только на PS3.
Source OpenGL умеет, но только на PS3.
А вы то что знаете о Unigine? Постыдились бы бросаться — у меня не тормозил. Сходите скачайте демки, посмотрите чем тестируют карточки в Phoronix, и больше не трольте так погано.
А зачем паниковать?
Выживает сильнейший.
Ну а кроме того Кармак ждал. Но не дождался. С версии 2.0 (я не беру в расчет 2.1 — столь ожидаемый, но абсолютно невразумительный) до версии 3.0 прошло 4 (четыре) года. и только с 3 версии пошли хоть какие-то стабильные изменения в основной линейке OGL, а до этого все делали 2 движка — на исправлениях nVidia и исправлениях ATI. В итоге местами для более эффективной работы то на одной, то на другой видюхе приходилось писать 2 разных кода.
В dX такого не было. Он выиграл.
Выживает сильнейший.
Ну а кроме того Кармак ждал. Но не дождался. С версии 2.0 (я не беру в расчет 2.1 — столь ожидаемый, но абсолютно невразумительный) до версии 3.0 прошло 4 (четыре) года. и только с 3 версии пошли хоть какие-то стабильные изменения в основной линейке OGL, а до этого все делали 2 движка — на исправлениях nVidia и исправлениях ATI. В итоге местами для более эффективной работы то на одной, то на другой видюхе приходилось писать 2 разных кода.
В dX такого не было. Он выиграл.
>irony
>Кармак продал душу, OpenGL забыт, всем срочно паниковать.
В первой строке ответ на ваш вопрос, а так да. МС победила. Больше всего удивителен хайп вокруг заявления никому не известных девелоперов. Вот если бы старина Гейб анонсировал HL3 на ogl — это да, было бы сильно.
>Кармак продал душу, OpenGL забыт, всем срочно паниковать.
В первой строке ответ на ваш вопрос, а так да. МС победила. Больше всего удивителен хайп вокруг заявления никому не известных девелоперов. Вот если бы старина Гейб анонсировал HL3 на ogl — это да, было бы сильно.
COD
Что-то я сначала галочку не заметил про закрытый блог. Исправил.
Использовние OpenGL это дань уважения к когда-то велкиой и могущественной Silicon Graphics.
Уже тот факт, что этот продукт её детище внушает доверие.
(А директ икс лишь жалкая копия, ИХМО, компании, которая помогла великой упасть в пропасть, см. историю SGI)
Уже тот факт, что этот продукт её детище внушает доверие.
(А директ икс лишь жалкая копия, ИХМО, компании, которая помогла великой упасть в пропасть, см. историю SGI)
>А о чём?
О количестве игровых движков, использующих ogl и количестве тайтлов, построенных на тех самых движках.
>Топовых игр поддерживающих OpenGL огромное количество.
id Tech 3 — максимум таких игр. Напомните, какое это поколение?
>Конечно, они ещё чаще всего и DirectX держат, так не в этом суть.
В этом, MS пришла и заборола рублем.
>И ещё надо помнить, что OpenGL тормозит только с дровами от майкрософт
Знаете, на драйверах от ms я не могу выставить full-hd разрешение и поиграть практически в любую 3d игру, заговор?
О количестве игровых движков, использующих ogl и количестве тайтлов, построенных на тех самых движках.
>Топовых игр поддерживающих OpenGL огромное количество.
id Tech 3 — максимум таких игр. Напомните, какое это поколение?
>Конечно, они ещё чаще всего и DirectX держат, так не в этом суть.
В этом, MS пришла и заборола рублем.
>И ещё надо помнить, что OpenGL тормозит только с дровами от майкрософт
Знаете, на драйверах от ms я не могу выставить full-hd разрешение и поиграть практически в любую 3d игру, заговор?
>Знаете, на драйверах от ms я не могу выставить full-hd разрешение и поиграть практически в любую 3d игру, заговор?
учите историю. когда MS ушла из OpenGL они заменили лютые библиотеки от SGI на свои тормознутые.
учите историю. когда MS ушла из OpenGL они заменили лютые библиотеки от SGI на свои тормознутые.
Был намек на тормоза и в d3d приложениях при нативных драйверах. Найдите его.
Ну наверное автор не правильно высказался про драйвера от МС. на драйверах от МС даже 2d нативные приложения тормозят.
>Был намек на тормоза и в d3d приложениях при нативных драйверах. Найдите его.
Намёк на тормоза не в DirectX, а в OpenGL.
books.google.com/books?id=ojrCZZv2ClcC&lpg=PA329&dq=%C3%B1%C3%B3%C3%AF%C3%A5%C3%B0%C3%AA%C3%AD%C3%A8%C3%A3%C3%A0%20OpenGL&pg=PA64#v=onepage&q=&f=false
Намёк на тормоза не в DirectX, а в OpenGL.
books.google.com/books?id=ojrCZZv2ClcC&lpg=PA329&dq=%C3%B1%C3%B3%C3%AF%C3%A5%C3%B0%C3%AA%C3%AD%C3%A8%C3%A3%C3%A0%20OpenGL&pg=PA64#v=onepage&q=&f=false
Намек на тормоза в DirectX, как и в OpenGL при условии нативных драйверов. Не будьте ханжой, ваш аргумент — говно.
Тролька :(
Какой зануда!
>И ещё надо помнить, что OpenGL тормозит только с дровами от майкрософт
Ваше?
>И ещё надо помнить, что OpenGL тормозит только с дровами от майкрософт
Ваше?
Там дело гораздо хуже, лучше даже не программировать OpenGL реализацией от майкрософт. Хотя знаешь, если бы ты не ругался на ссылки, а почитал, то тебе бы рассказали, что реализация OpenGL такими дровами идёт или софтварно, или посредством DirectX.
Реальные же драйвера делают не так, поддержка встроена прямо в них. То есть в борьбе за fps эмуляция OpenGL даже через DirectX по любому бы проиграла самому DirectX.
Реальные же драйвера делают не так, поддержка встроена прямо в них. То есть в борьбе за fps эмуляция OpenGL даже через DirectX по любому бы проиграла самому DirectX.
тоесть по сути вы сравнили с говном DX и тех кто использует DX? Так держать! мне это нравится.
p.s.
я правильно помню, что любая кроссплатформа использует OpenGL?
p.s.
я правильно помню, что любая кроссплатформа использует OpenGL?
>я правильно помню, что
Если говорить о win-linux-mac, то скорее правило. Так как используется открытый id tech 3 или ue. На консолях несколько иначе.
Если говорить о win-linux-mac, то скорее правило. Так как используется открытый id tech 3 или ue. На консолях несколько иначе.
а какая ситуация на консолях? (интересует ps3)
Кстате вот WoW, что использует? работает и на маке и на винде, а так же подвайном без проблем идет на линуксе…
Кстате вот WoW, что использует? работает и на маке и на винде, а так же подвайном без проблем идет на линуксе…
WoW и DX использует, и OpenGL (если запустить c ключом -opengl). Под вайном отлично работает в OpenGL (чуть больше фпс в Ubuntu, чем в Win7), если запускать в DX — куча глюков (вода черная и пр.)
Blizzard разработывает и DX и OpenGL, я вот до сих пор не могу понять, почему нет родного линукс клиента, коль WoW может работать с OpenGL ))
Blizzard разработывает и DX и OpenGL, я вот до сих пор не могу понять, почему нет родного линукс клиента, коль WoW может работать с OpenGL ))
При этом они сто лет обещают его выпустить
> WoW и DX использует, и OpenGL (если запустить c ключом -opengl)
Как и W3. При запуске с ключом -opengl никакой разницы нет под виндовс пускать или под вайном.
Как и W3. При запуске с ключом -opengl никакой разницы нет под виндовс пускать или под вайном.
засада в поддержке. то, что есть opengl renderer — пол дела, далее надо доделать соответствующий обвяз к двиглу, чтобы оно работало на win/mac/linux.
с wine тоже не все так гладко, EVE Online попробовали и отказались от этой идеи. Слишком сейчас все мутно с графикой под linux. Драйвера ATI — работают через жопу(x1700 mobility — эта жесть). C Nvidia все получше, те работают как надо. Сам wine тоже от регрессий зачастую корячится.
с wine тоже не все так гладко, EVE Online попробовали и отказались от этой идеи. Слишком сейчас все мутно с графикой под linux. Драйвера ATI — работают через жопу(x1700 mobility — эта жесть). C Nvidia все получше, те работают как надо. Сам wine тоже от регрессий зачастую корячится.
Не перестаю пускать ежедневные лучезарные лучи поноса в сторону ATI.
>C Nvidia все получше, те работают как надо
Чтобы играть в тот же X3: Reunion без wine — линуксовой сборки, мне пришлось поставить для NVidia проприетарные дрова с сайта производителя.
Чтобы играть в тот же X3: Reunion без wine — линуксовой сборки, мне пришлось поставить для NVidia проприетарные дрова с сайта производителя.
вайн директикс эмулирует же.
>ps3
Знаю о ogl es2, у xbox 360 редакция d3d9.
Знаю о ogl es2, у xbox 360 редакция d3d9.
На моей памяти в список OpenGL игр входят: две последние части хроников ридика (по-моему фанатов у игры хватает), серия игр Пенумбра, и еще что-то, да действительно движок Unigine имеет OGL рендер, но на их сайте я не встретил более менее известных (по крайней мере мне) игр на нем.
Я не программист, поэтому попытаюсь высказать свою точку зрения простого обывателя:
Раньше я разницы по скорости между DX и OGL я не замечал, поэтому выбор шёл от условия «под чем меньше глюков и вылетов», или «где красивее». В компьютерных игрушках DX был зачастую интересней — например в старом CS под DX на стенах оставались следы от пуль, а под OGL нет.
Последние несколько лет игрушки работают стабильно на настройках по-умолчанию, и в настройки графики обычно даже не лезу (о том, что в WOW есть OGL узнал только здесь из комментов)
«Пока DX11-карты станут популярными, до тех пор скорее всего появится OpenGL решение..» —если когда оно появится, оно будет свежим и с кучей багов, а DX уже будет старым и отлаженным. OGL надо быть лучше DX и думать чем привлечь пользователя, а не плестись в хвосте с фразой «а я не хуже». Имхо.
Раньше я разницы по скорости между DX и OGL я не замечал, поэтому выбор шёл от условия «под чем меньше глюков и вылетов», или «где красивее». В компьютерных игрушках DX был зачастую интересней — например в старом CS под DX на стенах оставались следы от пуль, а под OGL нет.
Последние несколько лет игрушки работают стабильно на настройках по-умолчанию, и в настройки графики обычно даже не лезу (о том, что в WOW есть OGL узнал только здесь из комментов)
«Пока DX11-карты станут популярными, до тех пор скорее всего появится OpenGL решение..» —
они и так привлекают. OpenGL приложения можно портировать. Вообщем OpenGL взяли правильный курс сейчас. Скоро DX будет запыхаясь догонять OGL.
Если не ошибаюсь, то Crystal Tools engine (a.k.a. White Engine) как раз OpenGL'ный, и вот он уделает любой дргуой движек.
Старый CS не аргумент, даже тогда он уже был старым и уродливым.
p.s.
ну и не могу обрабовать владельцев ящиков: графика на ящике в FF13 будет намного хуже чем на ps3 :)
Если не ошибаюсь, то Crystal Tools engine (a.k.a. White Engine) как раз OpenGL'ный, и вот он уделает любой дргуой движек.
Старый CS не аргумент, даже тогда он уже был старым и уродливым.
p.s.
ну и не могу обрабовать владельцев ящиков: графика на ящике в FF13 будет намного хуже чем на ps3 :)
> — ААА делаются на DirectX из-за эффекта популярности (мощный PR, в том числе нешарящих игровых журналистов с сравнительными скриншотами в кармане как всегда =), а популярность рождает множество навязываемых домыслов, суеверий и, кажущихся почти ощутимыми, рисков.
Во-первых нешарящий игровой журналист — не редкость, но и шарящих пруд пруди. К ним то и прислушиваются нешарящие.
Во-вторых сравнительный скриншот — прямое доказательство, и если в DX картинка лучше, то она ЛУЧШЕ.
Мощный пиар — детский сад. Любой разраб/издатель знает все необходимые доводы за и против и вряд-ли человек из Ubisoft, например, который решает издавать или нет игру — будет основываться на суевериях и домыслах.
Во-первых нешарящий игровой журналист — не редкость, но и шарящих пруд пруди. К ним то и прислушиваются нешарящие.
Во-вторых сравнительный скриншот — прямое доказательство, и если в DX картинка лучше, то она ЛУЧШЕ.
Мощный пиар — детский сад. Любой разраб/издатель знает все необходимые доводы за и против и вряд-ли человек из Ubisoft, например, который решает издавать или нет игру — будет основываться на суевериях и домыслах.
> — DirectX API — высокоуровневое, а через OpenGL можно делать всякое очень низкоуровневое. Поэтому, например, для хардкора в производительности PS3 лучше сразу OpenGL. Тут трейд-офф про скорость получения релизного кода vs скорость в рантайме.
Вообще там несколько другое сказано. Как раз что GL высокоуровнеый, а у PS3 и других есть своё низкоуровневое АПИ:
— While PS3 has an OpenGL wrapper available, developers almost always use libGCM instead! Same for Wii and GX.
— You're right! Sorry about that, in my research I was confused by Sony's public statements that OpenGL ES was their standard API which must have been changed by the time it was released, or just been misreported. The developers I've heard from who work on high-performance graphics for PS3 say that they use libGCM because it's closer to the hardware, giving developers complete control of the PS3 hardware and avoiding the CPU overhead of a high-level API…
Вообще там несколько другое сказано. Как раз что GL высокоуровнеый, а у PS3 и других есть своё низкоуровневое АПИ:
— While PS3 has an OpenGL wrapper available, developers almost always use libGCM instead! Same for Wii and GX.
— You're right! Sorry about that, in my research I was confused by Sony's public statements that OpenGL ES was their standard API which must have been changed by the time it was released, or just been misreported. The developers I've heard from who work on high-performance graphics for PS3 say that they use libGCM because it's closer to the hardware, giving developers complete control of the PS3 hardware and avoiding the CPU overhead of a high-level API…
Блин, я не понимаю, о чем спорить. Поддерживать надо те библиотеки, которые бытрее работают шире поддерживаются у пользователей. А аргументы насчет кроссплатформенности — глупые по моему, ну что за бред «зато работает на Open Solaris». да что это вообще такое, Open Solaris, и кому он нужен?
Я за то, чтобы игры работали быстро и не тормозили, а у линуксоидов в конце концов есть вайн, пусть сделают адаптер для Win-драйверов видеокарт и успокоятся уже.
Я за то, чтобы игры работали быстро и не тормозили, а у линуксоидов в конце концов есть вайн, пусть сделают адаптер для Win-драйверов видеокарт и успокоятся уже.
Я вообще не доганяю. Это какой-то абсурдный холивар:
все большие игры выходят на PS3, PSP, желательно на Mac, Wii
Так выбора ж блин нету, OpenGL. В независимости нравится, не нравится, лучше, хуже. Так есть, это за гранью добра и зла.
все большие игры выходят на PS3, PSP, желательно на Mac, Wii
Так выбора ж блин нету, OpenGL. В независимости нравится, не нравится, лучше, хуже. Так есть, это за гранью добра и зла.
На PS3 никто не использует OpenGL.
Медленно и невкусно.
Медленно и невкусно.
Я и не говорил что его нет. Я говорил что никто не пользуется.
Разницу ощущаете?
Разницу ощущаете?
libgcm — библиотека для работы с командным буфером GPU
Мне кажется я ответил на ваш вопрос «что же по вашему там используется»?
OpenGL использовался при портировании UE3 года ~4 назад.
Больше применений не встречал.
OpenGL использовался при портировании UE3 года ~4 назад.
Больше применений не встречал.
Наоборот, OpenGL реализован как надстройка над libgcm.
libgcm это удобная либа для работы с голым железом.
Cg же живёт сам по себе.
libgcm это удобная либа для работы с голым железом.
Cg же живёт сам по себе.
Еще немного в тему: idTech 5 (Rage, Doom4) разрабатывается кросс-платформенным и основной рендер на OpenGL. Поддержка DX будет на уровне DX9. Про это везде написано, пруф найти не составит проблем.
Кроме того, есть интересная картинка сравнения OGL, D3D тут. Интересный момент — качество моделирование лиц на OpenGL.
Кроме того, есть интересная картинка сравнения OGL, D3D тут. Интересный момент — качество моделирование лиц на OpenGL.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
OpenGl vs DirectX episode II