【问题标题】:Difference between Doom and Quake 3D renderingDoom 和 Quake 3D 渲染之间的区别
【发布时间】:2011-12-20 04:08:30
【问题描述】:

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

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

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

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

我很想听听对差异的明确解释!

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

【问题讨论】:

    标签: 3d raycasting quake


    【解决方案1】:

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

    与 Doom 相比,Quake 具有高级照明(通过光照贴图)、着色、更好的纹理映射(通过 MIP 贴图,减少了在观察远处物体时可观察到的锯齿伪影)和 3d 物体而不是精灵。它的游戏空间并不是天生平坦的,因为 Doom 和渲染允许您从不同的角度看待事物。

    更多详情可以通过herehere找到。

    如果您对如何完成所有这些酷酷的 Quake 事情感兴趣,请阅读 Michael Abrash 的书籍,例如Ramblings in RealtimeGraphics Programming Black Book

    【讨论】:

    【解决方案2】:

    需要指出的是,Doom 的渲染引擎不是光线投射器(就像 Wolfenstein 3D 那样)——也就是说,它不能通过为屏幕的每一列投射光线来工作。相反,它是一个 BSP 引擎。关卡的几何结构被划分为一棵二叉树,然后向下走去渲染场景。

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

    由于您解释的原因,不可能进行真正的垂直上下查看-诸如 Heretic 和 Hexen 之类的游戏使用了 Y 剪切,这本质上是一种 hack。这就像扩展屏幕的垂直高度,然后在其中提供一个上下移动的窗口。

    您可以在 the Doom wikiWikipedia 上找到更多信息 - 两者都源自我在 2 年前写的所有内容上的 write-up

    希望这会有所帮助!

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 您可能应该编辑您的帖子以拥有“香草”Doom,因为从技术上讲,ZDoom(和其他端口)也是 Doom 引擎,但具有 3D 地板、斜坡......等等。
      • 3D 外观根本不是幻觉。例如,您可以躲避火球下方。世界几何可以有不同的高度,但只有一个扇区级别,这意味着你不能让一个扇区高于另一个扇区,但可以在当时的硬件上获得更好的性能。
      【解决方案4】:

      doom 的 3d 外观不亚于 quake 的幻觉,quake 引擎可以显示与 doom 相同的地图(如果移植),如果您不允许向上/向下查看,那么它仍然是一个更真实的 3d,因为它在做什么引擎盖,尽管它看起来和厄运一样?还是会少3d?结果是一样的。

      【讨论】:

      • 这不是关于外观,而是关于引擎...如果我创建一个可以显示照片的照片查看器...它会成为引擎吗?根据你的说法,只有你不能向上/向下看并且你不能走路的限制。这是关于引擎可以做什么,而不是关于如何使用它。 Doom 引擎有这些限制,使其不是真正的 3D 引擎。
      猜你喜欢
      • 1970-01-01
      • 2011-06-30
      • 1970-01-01
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-21
      • 1970-01-01
      相关资源
      最近更新 更多