遥远的3D对象的渲染[游戏] [英] Distant 3D object rendering [games]

查看:213
本文介绍了遥远的3D对象的渲染[游戏]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

什么是落后技术的基本premise如遗忘被找到(和其他游戏,我敢肯定,还没有发挥足够的了解),其中来自远方的物体,当你从查看它们都隐约显示一距离是多少?例如,一个大型塔是一英里远,你看到它的模糊的长方形坚持从地平线......显然,一个巨大的3D场景不可能全部被渲染,而且我知道,在高度图的情况下,有只是近似算法被用于降低高度图的质量进一步远离摄像机,但对于特定的对象,什么是显示那些的最佳方式

What is the basic premise behind technology such as is found in Oblivion (and other games, I'm sure; haven't played enough to know), wherein objects from afar are vaguely shown when you view them from a distance? For example, a large tower is a mile away and you see the vague rectangle of it sticking up from the horizon... Obviously a giant 3D scene cannot all be rendered, and I know that in the case of heightmaps there are just approximation algorithms that are used to reduce the heightmap quality further away from the camera, but for specific objects, what is the best way to show those?

我在想也许是pre-渲染技术,其中你挑身边的风景特定的地方,然后做一个程序,把一切的高度图,并围绕该点的三维模型,并拍照。这将需要几张照片,然后当玩家接近这个位置,图像将作为一个天空盒。

I was thinking perhaps a pre-rendering technique, wherein you pick specific places around the landscape and then make a program that draws all of the heightmap and 3D models around that spot and takes a picture. It would take several pictures, and then when the player is near that spot, the pictures would be used as a skybox.

另一个更明显的技术是用于存储真粗糙的3D模型,但随后如何3D渲染系统专门选择来呈现该建筑物的粗糙模型和不粗糙模型其他不太显著(也可能没有可浏览的-从 - 即距离)的对象?你将如何存储类似,随着你的高度图?也许在设计,只有几个这样的显著地标,然后只是其中的列表存储在一个小文件,并在每帧渲染那些是小于X真的-远的距离?

Another more obvious technique is to store really rough 3D models, but then how does the 3D rendering system specifically choose to render the rough model of the building and not the rough models of other less significant (and probably not-viewable-from-that-distance) objects? How would you store something like that along with your heightmap? Maybe by design, only have a few such significant landmarks and then just store the list of them in a small file, and on each frame render the ones that are less than x really-far-distance away?

据我所知,光环系列选择分将比赛拖入水平,那么每一个级别都有不同的手工制作的天空盒。这是种什么我会在第一个建议,但我不知道这件事。我想我真的只是想收集其他的想法或改进或问题,我的想法,让我可以选择原型与我有限的时间和知识的。

I am aware that the Halo series chooses to divide the game into levels and then each level has a different hand-made skybox. This is kind of what I was going for in the first suggestion, but I'm not sure about it. I guess I'm really just trying to collect other ideas or refinements or issues in my ideas, so that I can choose which ones to prototype with my limited time and knowledge.

另外一个相关的话题是如何在距离显示山区,因为它们将是高度图在它之上的一部分,而不是3D模型,所以他们不会真的能有一个粗略的版本和高度图近似算法可能搞砸了山上,从一个非常远的距离一样,(假设你甚至会试图接近并呈现这样遥远的几何形状,你可能不会)。奖励积分,如果你盖这在你的答案了。 :)

Another related topic is how to display mountains at a distance, since they would be part of the heightmap and not 3D models on top of it, so they wouldn't really be able to have a rough version, and the heightmap approximation algorithm might screw up the mountain from a really far distance like that (assuming you would even try to approximate and render such distant geometry, which you probably would not). Bonus points if you cover this in your answer too. :)

谢谢!

P.S。我使用的OpenGL。我只是在寻找的基本概念,但如果你选择张贴例如code,请使用OpenGL函数和条件! :)

P.S. I'm using OpenGL. I am just looking for the basic concepts but if you choose to post example code, please use OpenGL functions and terms! :)

编辑:谢谢你的答案!对于文档在这里的目的是另一种资源,我发现: 第二章4.9游戏编程精粹2涵盖渲染远处的景物到天空盒的概念: <一href="http://books.google.com/books?id=1-NfBElV97IC&lpg=PA416&ots=SOpnfijZly&dq=render%20distant%20to%20skybox&pg=PA416">http://books.google.com/books?id=1-NfBElV97IC&lpg=PA416&ots=SOpnfijZly&dq=render%20distant%20to%20skybox&pg=PA416 (不幸的是preVIEW是章的第一页......我得尽快抓住这本书从我大学的图书馆,我回来在八月)

Thanks for the answers! For documentation purposes here is another resource I found: Chapter 4.9 in Game Programming Gems 2 covers the concept of rendering distant scenery to a skybox: http://books.google.com/books?id=1-NfBElV97IC&lpg=PA416&ots=SOpnfijZly&dq=render%20distant%20to%20skybox&pg=PA416 (unfortunately that preview is only the first page of the chapter... I'll have to grab that book from my university's library as soon as I get back in August)

此外看完这些事情之后,我还是那个LOD对于那些正处在一个仍然相当近的距离物体的意见。如果对象甚至没有一个像素大,但你仍然喂养它们的显卡,你只是在浪费电源,无论是使用LOD与否。而这将是一切,但绝对最大的远处物体的情况;几个高层建筑和一些山区,在大多数情况下,但小细节模型(灌木,甚至树木,岩石,任何其它风景...)不会是从这样的距离可见。所以,我不喜欢渲染天空盒技术,当我到达这座桥,这就是我以后怎么穿过它;我会请务必使用LOD所有车型,我是不会呈现这样的距离。

Also after reading these things, I am still of the opinion that LOD is for objects that are at a still reasonably close distance. If the objects aren't even one pixel large, but you're still feeding them to the graphics card, you're just wasting power, whether using LOD or not. And that would be the case for everything but the absolute largest distant objects; a few tall buildings and some mountains, in most cases, but the small detail models (bushes, even trees, rocks, whatever other scenery...) would not be visible from such a distance. So I do like the render to skybox technique, and when I get to this bridge, that's how I'll cross it; and I'll make sure to use LOD for all models, I just won't render such a distance.

我,顺便说一句,更可能是一个湮灭游戏的思路思考,所以答案可能取决于游戏类型。

I am, by the way, thinking more along the lines of an Oblivion game, so the answer may depend on the game genre.

推荐答案

一些技术,包括你提到的那些:

A few techniques, including the ones you've mentioned:

  • 在细节层次。上面列出。
  • 纹理映射。对于纹理。
  • 的视场。限制多​​少事情你的相机可以看到通过挑选合适的缩放级别。另请参见查看平截剔除。
  • 远裁剪面。对遥远的地方遮挡:大多数游戏使用的雾,山,或者一些其他的借口,对你能有多远看硬截止。这可以使用八叉树,或一些其它这样的技术来实现。这可以基于整个对象或多边形,或任何,并且通常设置为发生后面那些前述权利山上。
  • 在运动场/级别/区/什么 - 再次大多数游戏人为地限制你在一个舞台上同时播放;其好处是显而易见的(你能忽略所有其他领域对象)
  • pre-渲染 - 这是你在暗示什么之上。对于静态场景都相差不远,渲染场景中的一个典型视图,使之成为纹理背景,或将其用于天空盒/反射贴图/等。

我们的想法是要扔掉尽可能多的细节是可能的用户开始注意到了。

The idea is to throw away as much detail as is possible before users start to notice.

有一些pre-现有的工具包,它会自动做这些事情,但他们往往花钱。如果你正在寻找一个严重的应用程序,我会建议至少研究它们包括解决方案。

There are a number of pre-existing toolkits that will do these things automatically, but they tend to cost money. If you're looking at a serious app, I would recommend at least researching the solutions they include.

这篇关于遥远的3D对象的渲染[游戏]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆