LINUX.ORG.RU
решено ФорумGames

«Хотя набор графических библиотек OpenGL с недавнего времени признан устаревшим» - вот это новость! Кем признан? Когда?

 ,


0

2

Сабж

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

Чё, правда что ли? Когда я пропустил сию сногсшибательную новость?

★★★★★

Кем признан?

Кем кем корпорашками из коротый состоит кронос групп. Майкрософт,гугл,амд,интел,невидия и прочие прочие.

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

anonymous
()
Ответ на: комментарий от menangen

современные фичи, такие как ray tracing

Немножко смешно звучит. Современные. В учебниках про трассировку лучей лет 30 как пишут.

Но да, до недавнего времени это всё было не для реалтайма. Да и сейчас вроде как внедряется с осторожностью…

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от anonymous

От вулкана есть прок только если есть мнодественные промежуточные обработки именно демки с ними всегда и показывают. Юмор в том что пипол хавает (разработчики) так как в демках где надо просто рисовать данные в лоб opengl работает быстрее вулканов.

anonymous
()

Давно. Вулкан на дворе.

peregrine ★★★★★
()
Ответ на: комментарий от X512

FPS-ы с ним растут. Взять ту же POE, вулкан хоть и чаще крашится, но работает куда лучше директикса, а директикс и опенгл по производительности примерно одинаковы.

peregrine ★★★★★
()
Ответ на: комментарий от menangen

Не, это так не работает в opengl как и vulkan для этого есть EXT_blabla которые просто добавляются и всё. Со временем они становятся стандартом, а не расширениями (кубемапы например) Графическое API модульное, я могу писать на opengl2.1 и использовать фичи 4.6 прозрачно ибо это просто расширение. Именно поэтому если бы хотели просто современности то рейтрейсинг просто добавился бы обычным расширением и тройкой функций для glsl как всегда и было и можно было бы в tuxracer рейтрейсинг прикрутить десятком строк (там примитивно всё для программиста). Но грубо говоря они сделали всё тоже самое, но просто по другому. А фейл когда шейдера сделали предкомпилированными вообще позорище, скажи им в лоб про это лица отвернут. Не буду эпопею боянить, но ржал я долго когда всплыло, зачем так сделали. Нет это не оптимизация (кешировать шейдера можно и так было ещё opengl2.1) и нет это не упрощение драйверов (компилировать шейдеры примитивная задача ) на деле просто текст перевели в байт код который всё равно надо компилировать, но уже нельзя оптимизировать так как можно было раньше и это начало фейла эпичного, кому интересно гуглите видео доклад где 6 лбов их хроноса отворачивают лица и краснеют когда им в лицо техническую необоснованность их решений тыкал пацан в течении 25 минут, ничего не смогли ответить, а его выгнали из зала за технические вопросы, видос потом из всего интернета выпиливали, на торрентах есть.

Вулкан детё бабла. В нем есть красота на 20% , остальное говно просто продавленное в массы.

anonymous
()
Ответ на: комментарий от peregrine

Взять ту же POE

Я про научные и инженерные применения, а не про игры. Сомневаюсь, что Vulkan поможет быстрее рисовать много статических мешей с примитивными материалами и освещением.

X512 ★★★★★
()
Ответ на: комментарий от peregrine

Если адекватно делать, то поможет.

Там задачу решать надо, а не возиться с графическим API. Учёные — не профессиональные программисты.

X512 ★★★★★
()
Ответ на: комментарий от X512

Потому в нормальной конторе учёные код не пишут, они пишут прототип, который переписывают нормальные программисты на нормальный язык. А сами учёные могут хоть на питоне писать, если им так быстрее и удобнее.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от peregrine

Glbegin-ами будет быстрее

Неее, это зачаток. OpenGL начинается с 2.1. Так как нормалные программируемые шейдеры начались считай с него (как только в гпу стали адекватные юниты универсальные).

Если фигак-фигак и в проду, то да, скорее всего OpenGL

Эмм что за тупость ты несёшь? По твоему весь прикладной софт и игры на opengl который бул единственным считай за пределами проприетарных платформ это фигак фигак и в проду?

Стоп стоп стоп, хаха, ты из тех кто увидел новое, а текущее сразу посчитал чем то отсталым костыльным, несмотря на то что на новом нет почти ничего, а на текущем всё остальное и ты лицемерно такие выводы делаешь? Дядя может ты это… может объективно думать стараться, а не потреблядить?

а если подумать

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

anonymous
()
Ответ на: комментарий от peregrine

прототип, который переписывают нормальные программисты на нормальный язык.

Зачем? Эти программы в основном для внутреннего пользования, им не обязательно иметь товарный вид. Также их постоянно переписывают для разных условий экспериментов.

X512 ★★★★★
()
Ответ на: комментарий от peregrine

Нет, учёные сами пишут. Они не просто так рисуют картинки, а визуализируют данные, смотрят на их поведение и так далее. Так что нет, учёный визуализирует газ по твоему отдаёт наработки в программисту , тот без знания предмета делает газ крутым и цветным и отдаёт обратно? ололо!

anonymous
()

Короче, я понял. Слухи про устаревание OpenGL немного преждевременны.

tiinn ★★★★★
() автор топика
Ответ на: комментарий от X512

Затем что тяп-ляп на питоне пишется неделю и неделю считает. А на сишке пишется месяц программистом (2 месяца учёным) и считает час. ЗП у нормального учёного (а не лаборанта из СССР) выше чем у программиста, вроде царя, которому только обезьяньи надо код переписать. Но в хелло ворлдах, если реально считается один раз и так сойдёт. Так что если менеджмент деньги считает, то всё перепишут. Но это конечно всё при условии что учёного есть чем занять, а если он месяц сидит и решает одну задачу одну неделю, то он и будет писать на сишке, не увольнять его же просто так.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 3)
Ответ на: комментарий от peregrine

Если говорить про шейдеры то это чистая математика в glsl кроме матриц и математических функций ничего нет (ну данные ещё получать можно внешние). Так что если учёному нужно увидеть как 10000000 точек в зависимости от заряда всех их поведут себя в отношении друг друга то он либо будет писать на фортране (где 90% кода уже на gpu пашет) и на выходе будет анимация, либо на чистом glsl так как там только что и надо что выражать всё формулами, а вот программисты просто заранее сделают 1 раз так что-бы то что он там считает выводилось на экран и всё.

Конечно люди разные кто-то и на glbegin привык а данные пришет просто в массив потом отдаёт на отрисовку, но если уж учёный то там формулы, а формулы это и есть glsl. (хотя справедливости ради, не всегда именно параллельность нужна)

anonymous
()
Ответ на: комментарий от peregrine

Затем что тяп-ляп на питоне пишется неделю и неделю считает. А на сишке пишется месяц программистом (2 месяца учёным) и считает час.

2 недели vs 1 месяц + 1 час. Выбор очевиден. А расчёты постоянно меняются так что тратить много времени на их программирование не выгодно.

X512 ★★★★★
()
Ответ на: комментарий от tiinn

Жопа будет лет через 10. Когда один из производителей железа (скорее всего мобильного) скажет начиная со следующего чипа мы не поддерживаем opengl api. Остальные моментально подтянуться. Но, ахахах насрать так как уже будет opengl over всё остальное и через ещё год тот же производитель скажет «мы рады сообщить что мы ошибались и мы возвращаем поддержку» остальные снова подтягиваются. А так есть ещё всякие WEBGL и GLES которые ещё дольше жить будут.

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

anonymous
()
Ответ на: комментарий от X512

Взяли числа от балды и на этом сделали выводы, ребят вы там алё или как? в церне сидят и сидели учёные которые на ROOT CINT скриптовали данные и вычисления свои делали, подсказать какой там скриптовый язык? Сейчас там тоже самое, но в профиль, а питон используется только уж совсем для примитивных вычислений.

anonymous
()
Ответ на: комментарий от X512

Выбор очевиден

нет, если 1 неделю считается тестовая выборка. Ты яндексу скажи что неделю поисковый запрос обрабатываться будет )

peregrine ★★★★★
()
Ответ на: комментарий от anonymous

подсказать какой там скриптовый язык?

Какая разница? Они не страдают с низкоуровневыми графическими API. В Root используется OpenGL.

X512 ★★★★★
()
Ответ на: комментарий от robus

К слову как успехи? У тебя же вроде как раз эпопея с вулканом была. На счёт фикса шейдеров это ты про динамитческую линковку? Ну типа в работающей программе прямо на ходу шеёдер переписал и перелинковал и результат сразу на экране (я не про компиляцию каждый кадр, а разовую при изменении), вот про это? Если про это, то разве планы на счёт это там есть вообще?

anonymous
()

Вот какой поворот событий! А у меня даже самая свежая моя видеокарта и краем уха не слыхивала о таком-секом вулкане…

gtk3 ★★★
()
Ответ на: комментарий от X512

Вы тут про сишку и питон говорили root cint это расширенный c/c++, учёные писали сишные вычисления, записывали результаты в массив, а данные им рендерил opengl прямо из этих массивов ибо они автоматически были замапленны в gpu память. Да с api они не возились, но если нужно было то могли.

anonymous
()
Ответ на: комментарий от robus

Эммм, сцена 40 массивов с вершианми + uv. 40 * 3 текстур(нельзя сделать карту!) . 40 (разных) шейшеров на каждый массив по 1. рисуем всё в 4 текстуры (отложенный рендеринг) цвет/нормали/спекула/глубина. (Где то используем MRT для удобства и исключения лишних проходов) в конце последний 41 шейдер где выполняем композитинг финальной картинки в экранный буфер.Выполяем flush. Закончили кадр, переходим к построению нового.

В каком месте OpenGL4+ даст скорости по сравнению с OpenGL2.1?

anonymous
()
Ответ на: комментарий от peregrine

с Glbegin-ами не будет, упрёшься в 100% загрузку одного потока проца

anonymous
()
Ответ на: комментарий от gtk3

это не видеокарта а переходник с pci-e на разъём монитора, особенно под линуксом(dxvk)

anonymous
()
Ответ на: комментарий от tiinn

Да и хрен с ними, opengl поставляется с драйверами карточек, если бы в винду не поставлялись драйвера карточек, она бы нахер никому бы не упёрлась. Они дропнули также как дропнул моряк апельсин в море ибо любит яблоки (а корабль то в трюмах заполнен апельсинами ибо их хранение и перевозка и есть смысл существования корабля и моряка на этом корабле)

anonymous
()
Ответ на: комментарий от X512

opengl низкоуровневый для прикладухи. движки существуют не просто так

anonymous
()
Ответ на: комментарий от anonymous

Да что ты говоришь! Получаешь через PROC_LOAD нужное, объявляешь макросы и всё. Никто не использует прямую поставку GL функций, все импортируют себе их сами.

anonymous
()
Ответ на: комментарий от anonymous

У меня в ogl2.1 приложении тесселяция есть, откуда внезапно! ))))

anonymous
()
Ответ на: комментарий от anonymous

ты не шаришь чё-то. в открытых драйверах до недавнего времени не был реализован compatibility mode. импорт тут не причём

anonymous
()
Ответ на: комментарий от anonymous

Не шаришь ты 4+ это надмножество 2+ так что начиная с 2,1 я могу спокойно смешивать версии. Подготавливать буфферы и прочее через 2,1 не трогая 99% кода старого рендера, а шейдера и порядок отрисовки с layout уже писать на на распоследнем 4+. И всё работает. compatibility mode нужен только если ты уж совсем упоролся.

anonymous
()
Ответ на: комментарий от X512

CUDA

раб хуанга, плиз

OpenCL

был нужен до появления vulkan и новых версий opengl, сами khronos говорили о возможности его закапывания

anonymous
()
Ответ на: комментарий от Legioner

Эпол со своим Митолом и любителем нетрадиционного всего во главе вообще может хоть Мэ и Жо признавать устаревшим, только пополнять ряды хомяков ему придется по старинке :)

slackwarrior ★★★★★
()
Ответ на: комментарий от anonymous

не можешь, если такая возможность не реализована(была) в драйвере. ты тупой?

anonymous
()
Ответ на: комментарий от anonymous

начать с 2.1 то ничего не изменилось. Есть буферы данных, контексты шейдеров, всё

А что в OpenGL 2.1 был способ писать в буфер из шейдера? Не говоря уже о таких «мелочах» как задание режима интерполяции для каждой varying переменной отдельно, поддержки FBO, массивов кубических текстур (которые samplerCubeArray), различных типов шейдеров (вычислительные, геометрические, тесселяции).

Просто что-бы стимулировать продажи железа, вот и всё

Дааа, конечно! Vulkan есть на AMD GCN 1.0+, Nvidia Fermi+, Intel Ivy Bridge (который OpenGL 4.5 то не поддерживает :D), мобилки. Стимулировали продажи нового железа, только в путь :D

robus ★★★★★
()
Ответ на: комментарий от anonymous

К слову как успехи? У тебя же вроде как раз эпопея с вулканом была

Нормально. Сейчас хочу запилить поддержку shadow mapping-а на уровне движка для общего случая (N точечных, M направленных, и K «прожекторов», которые spot light). Уже есть шейдеры (они там, можно сказать, самое простое), в процессе поддержка кастомных проекций (для направленных источников света опязательна ортогональная проекция при рендеринге карты глубины).

На счёт фикса шейдеров это ты про динамитческую линковку

Это я про те вещи, что они сломали:

Во-первых, шейдеры бинарными стали – это удар по open source и реверс инжинерингу;

Во-вторых, убили модульность шейдеров – т.е. теперь для пайплайны может быть только 1 шейдер на каждую стадию (вершинную, фрагментную, и т.д.). Вот так – никаких больше «.o для GPU». Это удар по производительности и гибкости. В этом направлении пытались копать (spirv linker, поддержка в glslang), но, судя по всему, начинание умерло.

В-третьих, в glslang поломали генерирование SPIR-V из glsl-я. Это уже трудно назвать иначе, чем удар по яйцам. Нуу, на самом деле фикс уже есть, просто не смержен.

robus ★★★★★
()
Ответ на: комментарий от peregrine
  1. glbegin’ы это к сведению 1.0-1.5 версии ogl уже с 2.0-2.1(2006-ой год) появились шейдеры и буфферы, часто в расширениях было всё что затем включили в 3.3

  2. Вы не можете обогнать клиент-серверную модель, в том смысле, что загрузка данных и отрисовка на вулкане требует грамотной оптимизации конвеера, без которой существующий конвеер 3.3+ на уровне драйвера может быть намного лучше вашего, а все рекламные плюшки вулкана пойдут только в пределе, в той ситуации когда ogl упрётся в ограничения, у вулкана остануться возможности оптимизации и вытягивания некоторой дополнительной производительности, но если вы не разбираетесь в ограничениях и не готовы усложнять модель данных, то вулкан не для вас, ибо требует дополнительной тонкой работы, поэтому ogl приложение будет и быстрее и проще, а на вулкан нужно переходить только если вы знаете что нужно выбросить или расширить в существующем конвеере.

AKonia ★★
()
Последнее исправление: AKonia (всего исправлений: 1)
Ответ на: комментарий от AKonia

И? Всегда так было что готовая тулза при меньших затратах времени работает быстрее, но у неё и потолок ближе.

peregrine ★★★★★
()
Ответ на: комментарий от anonymous

40 массивов с вершианми + uv

this. В зависимости от того, что за меши, можно использовать Instanced rendering, но даже если каждый меш уникален, в OGL3 появились VAO. Благодаря использованию VAO, можно не биндить каждый кадр 40 VBO (в лучшем случае, в худшем – и вовсе 80) и 40 индексных буфферов. Вместо этого биндим 40 VAO, которые неизменны, что бывает значительно быстрее. Кроме того, в OpenGL 4.5 есть DSA, который позволит тебе не биндить VBO, UBO и текстуры для изменения. Если же это не нужно (т.е. всё статично), рендерим 1 раз в текстуру через FBO. А потом каждый кадр только эту текстуру и рендерим.

рисуем всё в 4 текстуры (отложенный рендеринг) цвет/нормали/спекула/глубина. (Где то используем MRT для удобства и исключения лишних проходов)

Этого ты просто не можешь сделать в OpenGL 2.1. Ну либо будешь меееееееедлееееноооо копировать из единственного фреймбуффера (default framebuffer), в PBO. И так 4 раза – по 1 на каждый аут. Кроме того фишки glsl-я, позволяющие тебе писать из 1 шейдера в несколько аттачментов тоже не существуют в OpenGL 2.1.

40 * 3 текстур(нельзя сделать карту!)

this. В OpenGL 4 существует тип sampler2dArray (в OpenGL 2 – ещё нет. Core since version: 3.0)

Итого: может быть не все фишки OpenGL 4 здесь применимы, но вот OpenGL 3.3 здесь в полный рост.

robus ★★★★★
()
Ответ на: комментарий от anonymous

Не шаришь ты 4+ это надмножество 2+

Это ты не шаришь. man core profile.

с 2,1 я могу спокойно смешивать версии

Ты не можешь, например, VAO в OpenGL 2.1. И, наверняка, ещё много чего, но вспоминать лень.

robus ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.