Distant 3D object rendering [games]

后端 未结 8 713
既然无缘
既然无缘 2021-01-31 12:45

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 show

相关标签:
8条回答
  • 2021-01-31 13:21

    I think this is what your looking for Level of Detail (LOD)

    0 讨论(0)
  • 2021-01-31 13:25

    The technique of dynamically caching pre-rendered views of distant objects is usually called 'impostors'. Here's an article from an old Game Programming Gems book on the subject.

    There are many techniques for handling level of detail for heightmap terrain. Take a look at vterrain.org for an overview of some common techniques. The general principle is the same in most variants - break the terrain into sections and use lower resolution geometry and textures in the distance - but the details vary.

    To reduce the number of objects that get submitted to the graphics card some kind of visibility culling will usually be implemented. At it's simplest this may be just completely dropping models whose bounding sphere covers less than a certain threshold of screen pixels (you'll be calculating this anyway when choosing which LOD to use if you have an LOD system). For greater efficiency some kind of hierarchical spatial data structure for culling may be used - quadtrees or octtrees, sphere trees, portal systems (not generally much used for outdoor environments), simple grid-based schemes, etc. The basic idea is to save work by culling a higher level node in the hierarchy and thus avoiding even looking at many leaf nodes. A simple example would be culling a building and effectively culling all of its child nodes (objects inside or on top of the building) without looking at them individually.

    For a game like oblivion they are probably also doing some kind of occlusion culling - culling objects before submitting them to the graphics hardware based on determining that they are hidden behind other objects. There are a variety of techniques for doing this, some of them can be quite complex.

    0 讨论(0)
提交回复
热议问题