遥远的3D对象渲染[游戏]

问题描述 投票:9回答:8

[在Oblivion(我敢肯定,还有其他游戏;玩得还不够,还不够了解)中发现的技术背后的基本前提是什么?当您从远处观看时,远处的物体会模糊地显示出来吗?例如,一个大塔在一英里外,您会看到它的模糊矩形从地平线上伸出来……显然,无法完全渲染一个巨大的3D场景,而且我知道在高度图的情况下,只有近似算法用来降低远离相机的高度图质量的方法,但是对于特定对象,什么是最好的显示方式?

我在想也许是一种预渲染技术,在该技术中,您选择风景中的特定位置,然后制作一个程序,在该点周围绘制所有高度图和3D模型并拍照。它会拍摄几张照片,然后当播放器在该位置附近时,这些照片将被用作天空盒。

另一种更明显的技术是存储真正的粗糙3D模型,但是3D渲染系统如何专门选择渲染建筑物的粗糙模型,而不是其他不太重要的(而不是从-距离)对象?您如何将这样的东西与高度图一起存储?也许是设计使然,只有几个这样的重要地标,然后将它们的列表存储在一个小文件中,然后在每帧上渲染距离x真正远的地标?

我知道《光晕》系列选择将游戏分为多个级别,然后每个级别都有一个不同的手工制作天盒。这是我在第一个建议中所追求的,但是我不确定。我想我真的只是想在我的想法中收集其他想法,改进或问题,以便我可以在有限的时间和知识下选择要进行原型化的东西。

[另一个相关主题是如何在远处显示山脉,因为山脉将成为高度图的一部分,而不是其顶部的3D模型,因此它们实际上将无法具有粗糙的版本,并且高度图近似算法可能会像那样在很远的距离上弄坏这座山(假设您甚至会尝试近似并渲染这种遥远的几何体,而您可能不会这样做)。如果您在答案中也包含此内容,则可获得加分。 :)

谢谢!

P.S。我正在使用OpenGL。我只是在寻找基本概念,但是如果您选择发布示例代码,请使用OpenGL函数和术语! :)

编辑:感谢您的回答!出于文档目的,这是我发现的另一个资源:《游戏编程宝石》第2章4.9中涵盖了将远景渲染到天空盒的概念:http://books.google.com/books?id=1-NfBElV97IC&lpg=PA416&ots=SOpnfijZly&dq=render%20distant%20to%20skybox&pg=PA416(不幸的是,预览只是本章的第一页……八月份回到学校后,我将不得不从大学图书馆里拿起那本书)

[阅读完这些内容之后,我仍然认为LOD适用于距离仍然相当接近的物体。如果对象甚至还不到一个像素大,但是您仍在将它们馈送到图形卡,则无论是使用LOD还是不使用LOD,都在浪费功率。除了绝对最大的远处物体,其他所有事物都是如此。在大多数情况下,都是几座高大的建筑物和一些山脉,但是从这么远的距离看不到小的细节模型(灌木丛,甚至树木,岩石,任何其他风景……)。因此,我确实喜欢“渲染到天空盒”技术,当我到达这座桥时,便是穿过它的方式。并且我将确保对所有模型都使用LOD,只是不会渲染这样的距离。

顺便说一句,我是按照遗忘游戏的思路思考的,所以答案可能取决于游戏类型。

3d level-of-detail
8个回答
7
投票

一些技术,包括您提到的技术:


7
投票

我认为这是您寻找的Level of Detail (LOD)


4
投票

对于3D模型,该技术称为level of detail。本质上,可以根据上下文正确使用多个版本模型。它不仅总是用于距离,在其他情况下也可以用于保持帧速率。


0
投票

您可以为远处的对象渲染纹理,但是,每当透视图变化超过某个阈值时,都必须重新渲染纹理。它适用于远处的物体,这些物体的视角通常不会像您在远处的山脉那样经常变化,但是如果视图源移动太快或距离太近,您将获得类似于鱼眼的效果地震中天空渲染的早期。这种系统将其自身带入了像eve一样在线的世界,其中包含着遥远的距离。

这当然是您武器库中的另一把戏,在某种程度上您仍然需要LOD。


0
投票

低细节版本的模型特别适用于车辆和物体,这对于地形确实很棘手。我从事过战区类型的游戏和PC飞行模拟器的研究。一点雾气有助于掩盖细节之间的“爆裂声”。


0
投票

处理地形的一种方法是使用多分辨率的图块。就像Virtual Earth和Google Maps一样,它们以递归方式将世界划分为多个图块。因此,级别0处有4个图块,级别1处有16个图等等。然后,使用某种LoD算法确定缩放比例,您将为给定区域加载适当的地形图块。


0
投票

动态缓存远处对象的预渲染视图的技术通常称为'impostors'。 Here's旧的《 Game Programming Gems》一书中有关该主题的文章。


0
投票

一种技术是LOD(详细程度)。物体离相机越远,绘制的三角形越少。这里是一个链接:http://www.stefan-krause.com/

© www.soinside.com 2019 - 2024. All rights reserved.