在过去的几周里,我一直在研究(旧的) 3D渲染技术,我想我现在对Doom中3D渲染的工作方式有了一个比较好的理解。它使用光线投射来渲染3D场景,对对象使用精灵,因此不是真正的3D。它也不允许真正的向上/向下看,只允许通过Y剪切。
Quake是ID的第一个“真正的”3D引擎,拥有可以从不同角度观察的物体,并允许上下查看。
现在我在学习这些技术时经常听到这个“真的”3D,但我不能清楚地解释这个真正的3D到底是什么意思。Quake渲染和Doom渲染有什么不同?
地震世界使用3D顶点吗?它们是否都是投影的,而不是光线投射的交叉点?
我希望听到清楚的不同之处的解释!
附注:我知道Quake的源代码是可用的,但id软件的FTP已经关闭了几个星期,我在其他地方找不到它。如果有人知道在哪里可以找到它,请让我知道。
发布于 2011-11-02 19:05:55
我不认为有一个统一的定义。也许最真实的3d可能与你在现实生活中看到的没有区别,这意味着物体渲染的照片逼真质量,照明,阴影,充分考虑了实时发生的变化,创造了深度感,也随着观看者的位置,他们使用左眼,右眼或双眼和改变焦点而变化。目前我们的电脑和电视还没有这么强大的技术。到目前为止,对于普通消费者来说,现实生活中的体验胜过了市场上的所有产品。
与Doom相比,Quake拥有先进的照明(通过光照贴图),着色,更好的纹理贴图(通过MIP贴图,减少观察远处物体时可观察到的混叠伪影)和3d对象而不是精灵。它的游戏空间并不是天生平坦的,因为Doom和渲染允许你从不同的角度来看待事物。
更多细节可以通过here和here找到。
如果你对如何做这些很酷的地震的事情感兴趣,请阅读Michael Abrash的书,例如Ramblings in Realtime和Graphics Programming Black Book。
发布于 2011-11-07 07:55:28
要指出的是,Doom的渲染引擎不是光线投射器(就像Wolfenstein 3D那样)-也就是说,它不能通过为屏幕的每一列投射光线来工作。相反,它是一个BSP引擎。将关卡的几何体划分为二叉树,然后向下遍历该树以渲染场景。
在树中的每个点都有两个子树,这些子树的遍历顺序取决于玩家相对于分隔它们的线的位置。这将确保它们按顺序渲染,以便较远的墙被较近的墙遮挡。
由于你解释的原因,真正的垂直向上和向下看是不可能的--像Heretic和Hexen这样的游戏,它们使用Y剪切添加了这样做的能力,这本质上是一种黑客。这就像延伸屏幕的垂直高度,然后在其中提供一个上下移动的窗口。
你可以在the Doom wiki和Wikipedia上找到更多信息-两者都是从我几年前在everything2上写的一个write-up派生出来的。
希望这能有所帮助!
发布于 2014-03-25 15:09:37
doom引擎有很大的局限性。每张地图本质上都是2d的,3d外观在很大程度上是一种错觉。地图上的每个点只有一层和一个天花板,所以永远不会有立交桥。这里没有坡道,只有楼梯和墙壁。所有的垂直线都是垂直绘制的,不需要上下看。
https://stackoverflow.com/questions/7978373
复制相似问题