Разница между Doom и Quake 3D визуализация

Я изучал (старые) методы 3D-рендеринга в течение последних недель и думаю, что теперь у меня есть справедливое понимание того, как работает 3D-рендеринг в Doom. Он использует raycasting для рендеринга 3D-сцены, использует спрайты для объектов и, следовательно, не является "истинным" 3D. Он также не позволяет реально смотреть вверх/вниз, только через Y-ножницы.

Quake является первым "истинным" 3D-движком ID, имеет объекты, которые можно просматривать под разными углами и позволяет смотреть вверх и вниз.

Теперь Я я часто слышу это "истинное" 3D при изучении этих методов, но я не могу получить четкое объяснение того, что именно означает это истинное 3D. Как рендеринг Quake отличается от рендеринга Doom?

использует ли мир землетрясений 3D-вершины и все ли они проецируются вместо raycasting для пересечений?

Я хотел бы услышать четкое объяснение различий!

P.S. Я знаю, что исходный код Quake доступен, но FTP id software не работает уже несколько недель и я не могу найти его нигде. Если кто-нибудь знает, где его найти, дайте мне знать.

4 ответов


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

по сравнению с Doom, Quake имел расширенное освещение (через световые карты), затенение, лучшее отображение текстуры (через карты MIP, уменьшая артефакты сглаживания, наблюдаемые при взгляде на отдаленные объекты) и 3d-объекты вместо спрайтов. Его игровое пространство не было изначально плоским, поскольку Doom и рендеринг позволяли смотреть на вещи под разными углами, как вы говорите.

больше подробности можно узнать через здесь и здесь.

Если вас интересует, как можно сделать все эти крутые вещи Quake, прочитайте книги Майкла Абраша, например бред в реальном времени и Графика Программирование Черная Книга.


просто отметить, что движок рендеринга Doom не является raycaster (как Wolfenstein 3D) - то есть он не работает, бросая луч для каждого столбца экрана. Скорее, это двигатель BSP. Геометрия уровня разделена на двоичное дерево, и это дерево спускается, чтобы отобразить сцену.

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

истинный вертикальный взгляд вверх и вниз невозможен по причинам, которые вы объясняете - такие игры, как еретик и Hexen, которые добавили возможность делать это, использовали y-shearing, который по сути является Хак. Это похоже на расширение вертикальной высоты экрана, а затем предоставление в него окна, которое движется вверх и вниз.

вы можете найти более подробную информацию о Doom wiki и на Википедия - оба являются производными от написать я написал на everything2 лет назад.

надеюсь, что это помогает!


двигатель doom имеет серьезные ограничения. Каждая карта по существу 2d, и 3D внешний вид в значительной степени иллюзия. Каждая точка на карте имеет только один этаж и один потолок, поэтому перевалов быть не может. Нет пандусов, только лестницы и стены. Все вертикальные линии нарисованы точно вертикально, и нет никакого взгляда вверх и вниз.


doom's 3d appearence - это не менее иллюзия, чем quake, quake engine может отображать те же карты (если портировать), что и doom, если вы запретите смотреть вверх/вниз, тогда это будет все еще более верный 3d из-за того, что он делает под капотом, несмотря на то, что он выглядит так же, как doom ? или тогда будет меньше 3d ? результат будет тот же.