Ruu*_*ier 12 3d quake raycasting
过去几周我一直在研究(旧)3D渲染技术,并认为我现在对Doom中3D渲染的工作方式有了一个公平的理解.它使用光线投射来渲染3D场景,对对象使用精灵,因此不是"真正的"3D.它也不允许真正的上/下,只能通过Y剪切.
Quake是ID的第一个"真正的"3D引擎,具有可以从不同角度查看的对象,并允许向上和向下查看.
现在,在研究这些技术时,我听到了很多"真正的"3D,但我无法清楚地解释这个真正的3D意味着什么.Quake渲染与Doom渲染有何不同?
Quake世界是否使用3D顶点并且它们都是投影而不是用于交叉点的光线投射?
我很想听到有关差异的明确解释!
PS我知道Quake的源代码是可用的,但是id软件的FTP已经停机数周了,我在其他任何地方都找不到它.如果有人知道在哪里可以找到它,请告诉我.
Sim*_*ard 15
要指出的是,Doom的渲染引擎并不是一个raycaster(就像Wolfenstein 3D一样) - 也就是说,它不能通过为屏幕的每一列投射光线而起作用.相反,它是一个BSP引擎.级别的几何被划分为二叉树,并且该树向下移动以渲染场景.
树中的每个点都有两个子树,这些子树的顺序取决于玩家相对于划分它们的线的位置.这可以确保它们按顺序渲染,以便远处的墙壁被更近的墙体遮挡.
真正的垂直向上和向下看是不可能的,因为你解释的原因 - 像Heretic和Hexen这样的游戏增加了使用Y剪切的能力,这本质上是一个黑客攻击.这就像扩展屏幕的垂直高度,然后提供一个上下移动的窗口.
你可以在Doom wiki和维基百科上找到更多信息- 两者都来自我2年前在所有内容上写的一篇文章.
希望这可以帮助!
我认为没有一个通用的定义。也许最真实的 3D 是与您在现实生活中看到的无法区分的 3D,这意味着物体、灯光、阴影的渲染具有摄影般逼真的质量,充分考虑到实时发生的变化,创造出深度感和立体感。还随着观看者的位置、左眼、右眼或双眼的使用以及焦点的变化而变化。目前我们的电脑和电视还没有如此强大的技术。迄今为止,现实生活中的体验胜过普通消费者市场上的所有产品。
与 Doom 相比,Quake 拥有先进的照明(通过光照贴图)、阴影、更好的纹理映射(通过 MIP 贴图,减少观察远处物体时可观察到的锯齿伪影)和 3D 物体(而不是精灵)。正如你所说,它的游戏空间本质上并不是平坦的,因为《毁灭战士》和渲染允许以不同的角度观察事物。
更多详细信息可以通过这里和这里找到。
如果您对如何完成所有这些很酷的 Quake 事情感兴趣,请阅读 Michael Abrash 的书籍,例如Ramblings in Realtime和Graphics Programming Black Book。