Разница между Doom и Quake 3D-рендерингом
Последние несколько недель я изучал (старые) методы 3D-рендеринга и думаю, что теперь у меня есть четкое представление о том, как работает 3D-рендеринг в Doom. Он использует лучевое вещание для визуализации 3D-сцены, использует спрайты для объектов и, следовательно, не является "истинным" 3D-изображением. Это также не позволяет реально смотреть вверх / вниз, только через Y-сдвиг.
Quake - это первый "настоящий" 3D движок ID, в котором есть объекты, которые можно просматривать под разными углами, и позволяющие смотреть вверх и вниз.
Сейчас я много слышу это "настоящее" 3D при изучении этих техник, но не могу получить четкое объяснение того, что именно означает это настоящее 3D. Чем рендеринг Quake отличается от рендеринга Doom?
Использует ли мир Quake трехмерные вершины, и все ли они проецируются вместо пересечения лучей для пересечений?
Я хотел бы услышать четкое объяснение различий!
PS Я знаю, что исходный код для Quake доступен, но FTP программного обеспечения id не работает уже несколько недель, и я не могу найти его где-либо еще. Если кто-нибудь знает, где его найти, дайте мне знать.
4 ответа
Я не думаю, что есть единственное универсальное определение. Возможно, наиболее правдоподобным 3d является тот, который неотличим от того, что вы видите в реальной жизни, имея в виду фотографически-реалистичное качество рендеринга объектов, освещения, теней, полностью учитывая изменения, происходящие в реальном времени, создавая ощущение глубины и глубины. также меняется в зависимости от положения зрителя, использования им левого, правого или обоих глаз и изменения фокуса. В настоящее время у нас нет такой мощной технологии в наших компьютерах и телевизорах. Реальный опыт пока превосходит все, что доступно на рынке для широкого потребителя.
По сравнению с Doom, Quake имел улучшенное освещение (с помощью карт освещения), затенение, лучшее наложение текстур (с помощью карт MIP, уменьшение артефактов сглаживания, наблюдаемых при взгляде на удаленные объекты) и 3d-объекты вместо спрайтов. Его игровое пространство не было изначально плоским, как Doom, и рендеринг позволял смотреть на вещи под разными углами, как вы говорите.
Более подробную информацию можно найти здесь и здесь.
Если вам интересно, как все эти крутые вещи в Quake можно сделать, прочитайте книги Майкла Абраша, например, " Ramblings in Realtime" и " Черное издание по программированию графики".
Просто отметим, что движок рендеринга в Doom не является raycaster'ом (как это делает Wolfenstein 3D), то есть он не работает, отбрасывая луч для каждого столбца экрана. Скорее, это двигатель BSP. Геометрия уровня делится на двоичное дерево, и это дерево спускается вниз для визуализации сцены.
В каждой точке дерева есть два поддерева, и они идут в порядке, который зависит от местоположения игрока по отношению к линии, которая их разделяет. Это гарантирует, что они отображаются в порядке, так что дальние стены закрыты более близкими.
Истинный вертикальный взгляд вверх и вниз невозможен по причинам, которые вы объясняете - в таких играх, как Heretic и Hexen, в которых добавлена возможность делать это, используется Y-сдвиг, что по сути является хаком. Это похоже на увеличение высоты экрана по вертикали, а затем создание в нем окна, которое перемещается вверх и вниз.
Вы можете найти больше информации о вики Doom и о Википедии - оба взяты из рецензии, которую я написал обо всем 2 года назад.
Надеюсь это поможет!
3D-видимость Doom не менее иллюзия, чем Quake, движок Quake мог отображать те же карты (если они портированы), что и Doom, если вы не разрешаете смотреть вверх / вниз, то это все равно будет более реалистичным 3D из-за того, что он делает под капотом, несмотря на то, что выглядит так же, как дум? или тогда будет меньше 3d? результат будет таким же.
У движка Doom есть серьезные ограничения. Каждая карта, по сути, 2d, а появление 3d в значительной степени иллюзия. Каждая точка на карте имеет только один этаж и один потолок, поэтому никогда не будет перепроходов. Там нет пандусов, только лестницы и стены. Все вертикальные линии нарисованы точно вертикально, и там нет взгляда вверх и вниз.