Как стать автором
Обновить

Комментарии 36

процессом визуализации в Doom Eternal заведует прямой рендеринг

Что за надмозг? Зачем переводить название технологии? Вы ж название игры не пишете как «Обречённый Извечный»? И Vulcan API не называете «Вулканический ПИП».
Правильно говорить «в Doom Eternal используется forward rendering pipeline».

Дальше вы вроде не страдаете этим и статья хорошая, так что плюс.
С каких пор «forward rendering pipeline» является торговой маркой? Vulkan и DOOM Eternal ими являются, а вот процесс рендеринга — нет.

Прямой рендеринг является противоположностью отложенного рендеринга (deferred shading).

Давайте тогда уже всё называть своими именами:
С выходом созданной на engine id Tech 5 игры Rage мир познакомился с concept of реализации textrure под названием «megatextures». Этот метод применяется в Doom 2016 и на каждый frame он renders так называемую «virtual texture» с информацией о видимых texture. Виртуальная texture анализируется в следующем frame, чтобы определить какие texture следует подгрузить с диска. Однако у megatexture есть очевидная проблема: как только texture попадает поле зрения, подгружать ее уже поздновато, поэтому на первых нескольких frames после появления texture выглядит размыто. С выходом id Tech 7 developers отказались от такого метода.
аминь
реализации realization
подгружать ее load ее
Давайте тогда уже всё называть своими именами

А давайте. Так гуглить удобнее.

Так вот для чего делали английскую версию Хабра :)
само слово «API» тоже не торговая марка.

Зря человека заминусили. Я не поленился и составил список косяков перевода. Хоть я в графике уже 15 лет, но надмозговый перевод привычных терминов заставлял зависнуть буквально в каждом абзаце. Если не знакомы с терминологией, лучше оставляйте английский, ей-богу!


несвязанными ресурсами (bindless resources) -> надо было оставить bindless ресурсы. Дословный смысл — несвязываемые, а не несвязанные.
Z-иерархическая глубина -> иерархический z-буфер
mip-цепи -> пирамида мип-уровней
сетки -> меши (ну не говорят же "сетки")
Отбрасывание света -> шейдинг что ли?
кластерного отбрасываения света -> clustered shading (кластеризованный шейдинг, или просто кластерный)
Преграждение окружающего света -> ambient occlusion
Непрозрачный прямой проход -> прямой проход для непрозрачной геометрии
вместо привязки размытия, отражений -> вместо бинда размытия, отражений
неровности текстуры -> текстура неровностей
отражений экранного пространства -> отражения в экранном пространстве, или screen-space отражения
в прямом шейдере -> эээ… это что-то новое))
разрешение частиц освещения -> разрешение [текстуры] освещения частиц. Неверный порядок слов полностью поменял смысл фразы.
цель рендера -> рендер таргет
целевое воздействие -> это вообще шедевр. По всей видимости, имелось в виду автоэкспозиция (auto exposure)
при вычислении воздействия в ходе тональной компрессии -> при вычислении экспозиции в ходе тональной компрессии


И это ещё не всё. Ниже ещё приводили примеры.

а чем бинд, шейдинг, меш и рендер таргет — более лучшие надмозги?

Тем что это общепринятые "термины" (ну или сленг) в среде программистов графики. По сути англицизмы. Профессионалы вас не поймут (ну или заминусят), новички только запутаются.

Сленг очень локальная вещь. Даже в пределах одного ЯП в одном городе в разных компаниях разными словами называют одно и то же.
Излишнее использование англицизмов появляется чаще всего из-за не достаточно хорошего знания языков и подрожания. К примеру, тот же меш не редко и просто сетью зовут, и используется та же структура не только для отрисовки. Это создаёт не правильное понимание уже в контексте иностранного языка. И в таких случаях не стоит использовать иностранные слова. Другое дело, когда иностранное слово значимо отличается по смыслу или его вообще нет языке.
Ну и ещё один аргумент, по мне так решающий. Хорошее название на русском донесёт смысл точнее и большему кол-ву людей, чем существует сейчас специалистов. Этот принцип в любом случае побеждает, т.к. является закономерностью развития языка. Так все старые слова, являющиеся локальной спецификой и не несущие нового смысла, умирают.
Аминь

Не знаю как где, но геймдев.ру у нас вроде один, и все программисты графики так или иначе через него проходили, и "выучились" именно на тамошней терминологии.
Если уж цепляться за точность перевода, то shading — это отбрасывание тени (затенение), а не света. А использование слова "отбрасывание" вызывает путаницу, т.к. есть ещё culling — отбрасывание (исключение из рендера) невидимых поверхностей/объектов. В обсуждаемой статье весь раздел "Отбрасывание света и декалей" вызывает недоумение, т.к. не понятно, о чём идёт речь. Там смешался кластерный шейдинг и куллинг источников света, не видимых камере. Весь раздел надо раза три перечитать, чтобы врубиться. И я вроде не новичок в графике и знаю все эти техники! О, да, и давайте тогда рендер заменим на "представление", "показывание"?

Нисколько не спорю, что в статье перевод плох) И даже очень, т.к. порой даже забавен.
Последнее вполне не плохо со словами отображение и отрисовка. Геймдев.ру и дтф вроде как самые большие, но на деле сколько там всего разработчиков из всего сонма? Совсем не большой %. Хотя, вообще играми, занимается на порядок больше людей, чем разбираются в графике на уровне достаточном, чтобы объяснить, что такое clustered shading, HDRP или ambient occlusion. Для большинства разработчиков это просто галочки в редакторе с этими названиями или то же в документации, а что они из себя представляют — «да кто его знает?».

Ну вот я как раз за то, чтобы в подобных статьях использовались знакомые/общепринятые обозначения. Если уж так хочется перевести на Могучий, писали бы при первом появлении в скобках оригинальную английскую фразу:


  • затенение фонового света (ambient occlusion)
Давайте тогда уже всё называть своими именами:
Давайте. Потому что у меня ушло 2 минуты, чтобы понять, что «Преграждение окружающего света» — это всего лишь Ambient Occlusion.
Вот как раз Ambient Occlusion и не переводится :)
Скажи спасибо, что LUT текстуру не перевели как ВИЗТБЛ текстуру :)
И кстати, Vulkan API.
В первом локализованном 3D MAXе операция Loft была названа «Об.на Осн.Сеч.», а вообще всегда можно вспомнить Автокад
Полностью согласен. Как человеку, работавшему в AAA индустрии (я есть в титрах Quake Champions), многие термины резали ухо — как будто машинный перевод. Плюс raymarching с raytracing'ом перепутан.

На правах пользователя хочу отметить, что в Doom Eternal начали в настройках отображать затрачиваемую видеопамять, и на моём ноутбуке с Nvidia 960m даже на самых минимальных настройках графики это значение превышало максимально возможную, которую приводили там же. И даже на этих самых минимальных настройках всё выглядело неприлично круто, только притормаживало на отдельных моментах. Прошлый Дум был менее требовательным и более плавным.


Причём, от разрешения затрачиваемая память практически не зависела (что для меня как для пользователя несколько контринтуитивно), однако с разрешением 1600x1200 на подключённом втором мониторе я не мог пройти битву с Кан Созидательницей, потому что игра просто вылетала. На родном экране и с разрешением 1280x720 всё нормально.

Вероятно. Там показывается общая затрачиваемая(распределение по оперативке и видеопамяти). Если суммарно не хватит — вылет. Текстуры игры грузятся в одинаковом разрешении в память, а потом уже используются по надобности уже с зависимостью от разрешения.
Технологически, наверное, сделано очень хорошо.

Но почему-то каждый раз когда смотрю на скрины геймплея DOOM, мне не верится, что это релиз 2020 года. Всегда хочется сказать, что это игра предыдущего или даже предпредыдущего поколения. Тот же самый эффект был с DOOM 3.

Почему так?

А что тогда для вас "игра текущего поколения", если уж сам ДУМ не нравится?

А это, кстати, хороший вопрос, хоть и субъективный.
Я согласен с предудыщим комментатором; для создания такого ощущения должно быть что-то по-настоящему свежее.


В своё время тот же Morrowind выглядел как игра нового поколения, например, можно вспомнить потрясающе красивую водичку. Разве в Думе есть что-то такое, что позволяло бы воспроизвести похожие ощущения?


(Мечты mode on.) В Doom 2016 меня больше всего в движке впечатлила разница при переходе от "обычного" уровня в секретный "классический" — движок становился в разы отзывчивее и плавнее. Оно конечно понятно почему, но если бы новый движок в Doom Eternal мог поддерживать похожую отзывчивость на минимальном графонии, думаю, игра вполне бы ощущалась как "текущего поколения" и даже больше.

Тоже иногда ностальгирую по тем временам: каждые пол года — прорыв, прыжок на голову выше, выход новой видеокарты, новый графоний, новые шейдеры, turok, quake, serious sam… Эх… К сожалению, я думаю, чего-то по-настоящему прорывного и свежего на столько, на сколько этот было ощутимо раньше, мы уже не дождемся. Никого не удивить фотографической картинкой и открытыми ландшафтами в играх, графоний будет становиться лучше — но медленно, и эффекта водички в моровинде или динамической тени от вентилятора в 3 думе не будет, увы.

Вот я хотел подчеркнуть, что да, фотографической картинкой не удивишь, но скоростью рендера удивить всё ещё можно. Даже на "некрутой" железке выдавать до 30 кадров в секунду когда всё горит и все в аду — это круто. И будь движок ещё чуточку шустрее, пусть ценой меньшей фото-реалистичности, для меня он казался бы более современным и прорывным.

скорее поверю, что новый браузер или текстовый редактор способны подвесить топовый компьютер, чем выпустят новую версию игры менее требовательную к ресурсам, чем предыдущую.
Насколько я вижу, Doom Eternal наиболее оптимизированная и производительная игра последних лет. Загрузки моментальные, на R9 270 практически везде 60 фпс на максимальных настройках, какие только можно выставить с 2 гигами видеопамяти. На R9 290X с 4 практически на масималках, и опять же, везде 60 (играл с vsync). Какая-нибудь колда после этого бесит своими размытыми текстурами и просадкой кадров. Я уж молчу, что картинка местами прям завораживает, особенно если поиграться режимами пост-обработки (кинематографический и т.д.), хотя игра вообще не про это, а про адские сражения, где нужно бешено перемещаться в трех измерениях и молниеносно соображать, иначе ой.
Загрузки моментальные, потому как почти вся игра в оперативке и не архивируется. А если не хватит оперативки — вылет. ФПС «сделан» хорошей подготовкой уровней — почти везде игра «тунельная» и/или не детализированная(шаблонная).
В общем, нет смысла сравнивать с COD, где мир скорее похож на открытый. А у каждого плюса — свои минусы. Но сам удавшийся подход говорит о хорошем качестве не только кода, а всего процесса разработки.

Прошу прощения, случайно ткнул в минус. Полностью с Вами согласен.

Ну, я думаю, что вау эффекта от дума нет потому, что сама картинка очень стилизованая. Я лично, к примеру, не увидел интересных материалов или эффектов. Их там банально негде показать даже. Железяки, железяки, камни, кишки. И нет при этом каких-то вау техник рендеринга этих кишок или лавы. Мне отчего то кажется, что можно получить более-менее такую же картинку совсем дедовскими методами, но возможно тогда бы пришлось оптимизировать количество активных элементов типа анимаций и декалей, не спорю.
Вообще это интересная тенденция, уменьшать количество спецрешений и сводить с универсальному рендеру. Картинка в целом становится лучше, но микро элементы становятся хуже, например волосы, ткани, кожа, водичка, полупрозрачности всех мастей.
С выходом созданной на движке id Tech 5 игры Rage мир познакомился с концептом реализации текстур под названием «мегатекстуры»

А разве мегатекстуры не применялись ещё аж в Enemy Territory: Quake Wars?

Они ещё в doom 3 применялись, впервые поддержка появилась в id tech 4, в 5 и 6 развивались.

В переводе столько косяков, что я даже перечислять их не буду. Каждый абзац просто перекурочен переводчиком, который не разбирается в предмете. Да даже play back — это воспроизведение, а не воспроизведение задом наперед, господи. Уж это-то всем должно быть известно.
И я даже четверти статьи не просмотрел…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий