Как современные игровые движки добиваются рендеринга в реальном времени против рендеринга Blender?

Я новичок как в gamedev, так и в Blender, и я не могу дрожать:

В Blender один рендер (даже с использованием более продвинутого Cycles renderer) может занять до 45 секунд на моей машине. Но, очевидно, в игре у вас может быть потрясающая графика, и поэтому рендеринг, очевидно, происходит непрерывно, несколько раз в секунду в режиме реального времени.

Так что мне также интересно, что такое разъединение, относительно того, насколько кажутся «медленными» рендерингами Blender, по сравнению с тем, как игровые движки добиваются рендеринга в реальном времени (или почти в реальном времени).

89 голосов | спросил smeeb 3 FebruaryEurope/MoscowbFri, 03 Feb 2017 15:21:07 +0300000000pmFri, 03 Feb 2017 15:21:07 +030017 2017, 15:21:07

2 ответа


115

В реальном времени рендеринг, даже современный рендеринг в реальном времени, представляет собой захватывающий трюк, ярлыки, хаки и аппроксимации.

Возьмите тени, например.

У нас до сих пор нет абсолютно точных и ампер; надежный механизм для рендеринга теней в реальном времени от произвольного количества огней и произвольно сложных объектов. У нас есть несколько вариантов методов теневого отображения, но все они страдают от

ответил Maximus Minimus 3 FebruaryEurope/MoscowbFri, 03 Feb 2017 17:20:33 +0300000000pmFri, 03 Feb 2017 17:20:33 +030017 2017, 17:20:33
108

В текущем ответе мы очень хорошо объяснили общие проблемы, но я чувствую, что он пропускает важную техническую деталь: механизм визуализации Blender's Cycles - это другой тип движка для большинства игр.

Обычно игры выполняются путем повторения всех полигонов в сцене и их индивидуального рисования. Это делается путем «проецирования» координат многоугольника через виртуальную камеру, чтобы создать плоское изображение. Причина, по которой этот метод используется для игр, заключается в том, что современное оборудование разработано вокруг этой технологии, и это можно сделать в реальном времени на относительно высоком уровне детализации. Из интереса это также метод, который использовался предыдущим механизмом рендеринга Blender до того, как Blender Foundation сбросил старый движок в пользу движка Cycles.

Многоугольник Рендеринг

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

Raytracing Рендеринг


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

Также обратите внимание, что в 3D-рендеринге есть множество методов, и некоторые игры действительно используют вариации трассировки лучей для определенных целей.

ответил Pharap 3 FebruaryEurope/MoscowbFri, 03 Feb 2017 21:49:48 +0300000000pmFri, 03 Feb 2017 21:49:48 +030017 2017, 21:49:48

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132