问题 Doom和Quake 3D渲染之间的区别


过去几周我一直在研究(旧的)3D渲染技术,并认为我现在对Doom中3D渲染的工作方式有了一个公平的理解。 它使用光线投射来渲染3D场景,使用精灵作为对象,因此不是“真正的”3D。 它也不允许真正的上/下,只能通过Y剪切。

Quake是ID的第一个“真正的”3D引擎,具有可以从不同角度查看的对象,并允许向上和向下查看。

现在,在研究这些技术时,我听到了很多“真正的”3D,但我无法清楚地解释这个真正的3D意味着什么。 Quake渲染与Doom渲染有何不同?

Quake世界是否使用3D顶点并且它们都是投影而不是用于交叉点的光线投射?

我很想听到有关差异的明确解释!

附:我知道Quake的源代码是可用的,但id软件的FTP已经停机数周了,我在其他任何地方都找不到它。如果有人知道在哪里可以找到它,请告诉我。


2777
2017-11-02 09:50


起源



答案:


我认为没有一个通用的定义。也许最真实的3D可能与您在现实生活中所看到的无法区分,这意味着物体渲染,照明,阴影的照片般逼真的质量,充分考虑到实时发生的变化,创造深度感和也随着观众的位置,左眼,右眼或双眼的使用以及焦点的变化而变化。目前,我们的电脑和电视没有这么强大的技术。到目前为止,真实的体验超越了市场上普通消费者的一切。

与Doom相比,Quake拥有高级照明(通过光照贴图),阴影,更好的纹理贴图(通过MIP贴图,减少在观察远处物体时可观察到的锯齿伪影)和3d对象而不是精灵。它的游戏空间本身并不像Doom那样平坦,渲染允许以不同的角度看待事物。

更多细节可以通过 这里 和 这里

如果您对所有这些很酷的Quake事情感兴趣,请阅读Michael Abrash的书籍,例如: 实时的Ramblings 和 图形编程黑皮书


3
2017-11-02 11:05



另外,看看 Fabien Sanglard博客 对于完整的id软件代码说明 - Matt Clarkson


答案:


我认为没有一个通用的定义。也许最真实的3D可能与您在现实生活中所看到的无法区分,这意味着物体渲染,照明,阴影的照片般逼真的质量,充分考虑到实时发生的变化,创造深度感和也随着观众的位置,左眼,右眼或双眼的使用以及焦点的变化而变化。目前,我们的电脑和电视没有这么强大的技术。到目前为止,真实的体验超越了市场上普通消费者的一切。

与Doom相比,Quake拥有高级照明(通过光照贴图),阴影,更好的纹理贴图(通过MIP贴图,减少在观察远处物体时可观察到的锯齿伪影)和3d对象而不是精灵。它的游戏空间本身并不像Doom那样平坦,渲染允许以不同的角度看待事物。

更多细节可以通过 这里 和 这里

如果您对所有这些很酷的Quake事情感兴趣,请阅读Michael Abrash的书籍,例如: 实时的Ramblings 和 图形编程黑皮书


3
2017-11-02 11:05



另外,看看 Fabien Sanglard博客 对于完整的id软件代码说明 - Matt Clarkson


要指出的是,Doom的渲染引擎并不是一个raycaster(就像Wolfenstein 3D一样) - 也就是说,它不能通过为屏幕的每一列投射光线而起作用。相反,它是一个BSP引擎。级别的几何被划分为二叉树,并且该树向下移动以渲染场景。

树中的每个点都有两个子树,这些子树的顺序取决于玩家相对于划分它们的线的位置。这可以确保它们按顺序渲染,以便远处的墙壁被更近的墙壁遮挡。

真正的垂直向上和向下看是不可能的,因为你解释的原因 - 像Heretic和Hexen这样的游戏增加了使用Y剪切的能力,这本质上是一个黑客攻击。这就像扩展屏幕的垂直高度,然后提供一个上下移动的窗口。

您可以在上找到更多信息 末日维基 并且 维基百科  - 两者都来自a 写上去 我写了2年前的所有内容。

希望这可以帮助!


15
2017-11-06 23:55





厄运引擎有很大的局限性。每张地图基本上都是2d,3d外观很大程度上是一种错觉。地图上的每个点只有一个楼层和一个天花板,所以永远不会有过度通道。没有坡道,只有楼梯和墙壁。所有垂直线都是垂直绘制的,没有向上和向下看。


0
2018-03-25 07:09



您应该编辑您的帖子以获得“vanilla”Doom,因为技术上ZDoom(和其他端口)也是Doom引擎,但有3D地板,斜坡等等。 - Water


厄运的三维外观不仅仅是一种幻觉而不是地震,地震引擎可以显示相同的地图(如果移植)作为厄运,如果你不允许向上/向下看,那么它仍然是一个真实的3d,因为它在引擎盖下做了什么,尽管它看起来像厄运一样?还是会减少3d呢?结果会是一样的。


-2
2017-09-10 16:35



这不是关于外观而是关于引擎......如果我创建一个可以显示照片的照片查看器......它是否会成为引擎?根据你这样做,只有你不能向上/向下看而且你无法行走的限制。这是关于引擎可以做什么,而不是它是如何使用的。 Doom引擎具有这些限制,使其不是真正的3D引擎。 - Timmos