Level of detail

Level of detail

This is a smart resource. Use a QR reader or the Aurasma app to access additional content.

Level of detail is a method of reducing the number of polygons or triangles of 3D geometry based on its distance from the player or camera. This technique increases the efficiency of rendering by reducing the workload on the graphics card or GPU.

This is usually achieved through the use of level of detail groups. The way these work is that for each asset or piece of scenery in a game, a number of models are actually created. Each of these models has a different polygon count ranging from the most detailed version which may be tens of thousands of triangles down to a version featuring very little detail and a vastly reduced polygon count. This is demonstrated in this example featuring a bunny that we’ll call Nigel;

As you can see each model represents exactly the same bunny. All of these are clearly Nigel. These four models would represent the different levels of detail in a LOD group. The clever thing about the way LOD works is that the closer the object is to the camera, the higher the level of detail that is shown to player. So if in a game we’re standing right next to Nigel, we’ll be shown the version with 69,451 polygons but if Nigel's right at the other side of the level we’ll only the the 76 poly version. The next example demonstrates the way that this works;

As you can see, when we’re close to Nigel we need to see the highest quality version in order to see all of the detail but as he moves further away the polygon count can be reduced without us really being able to tell. This avoids wasting processing power rendering detail that we can’t see because the object is too far away and it ensures that the game can maintain an acceptable frame rate.

Have a look at the video below to see a LOD algorithm in action working on reducing the polygon count of the terrain which makes up a planet as the camera gradually moves away from it.




Level of Detail for 3D Graphics作者: David Luebke , Martin Reddy , Jonathan D. Cohen , Amitabh Varshney , Benjamin Watson , Robert Huebner 出版:Morgan Kaufmann The Morgan Kaufmann Series in Computer Graphics and Geometric ModelingSeries Editor: Brian A. Barsky, University of California, BerkeleyLevel of detail (LOD) techniques are increasingly used by professional real-time developers to strike the balance between breathtaking virtual worlds and smooth, flowing animation. Level of Detail for 3D Graphics brings together, for the first time, the mechanisms, principles, practices, and theory needed by every graphics developer seeking to apply LOD methods.Continuing advances in level of detail management have brought this powerful technology to the forefront of 3D graphics optimization research. This book, written by the very researchers and developers who have built LOD technology, is both a state-of-the-art chronicle of LOD advances and a practical sourcebook, which will enable graphics developers from all disciplines to apply these formidable techniques to their own work.This Book:* Is a complete, practical resource for programmers wishing to incorporate LOD technology into their own systems.* Is an important reference for professionals in game development, computer animation, information visualization, real-time graphics and simulation, data capture and preview, CAD display, and virtual worlds.* Is accessible to anyone familiar with the essentials of computer science and interactive computer graphics.* Covers the full range of LOD methods from mesh simplification to error metrics, as well as advanced issues of human perception, temporal detail, and visual fidelity measurement.* Includes an accompanying Web site rich in supplementary material including source code, tools, 3D models, public domain software, documentation, LOD updates, and more.http://pixhost
实现层次化的LOD(Level of Detail)技术可以按照以下步骤进行: 1. 数据划分:将倾斜摄影数据划分为多个层次。每个层次对应不同的细节级别,从粗糙到精细。你可以根据需要进行划分,例如按照摄影图像的分辨率、覆盖范围或其他属性来定义不同的层次。 2. 数据压缩:对于每个层次的数据,可以使用压缩算法来减小数据体积。常见的压缩算法包括基于空间分区的压缩、点云的压缩等。通过压缩数据,可以减少网络传输的数据量,提高加载性能。 3. 数据索引:为每个层次的数据生成相应的索引。索引可以加速数据查询和渲染。例如,使用空间索引(如八叉树)可以快速确定当前视野范围内需要加载的数据块。 4. 动态加载:根据用户的视角和需求,动态加载合适层次的数据。可以根据用户视野范围、相机距离等因素来确定加载哪些层次的数据。在WebGIS应用中,可以使用相应的API或库来实现动态加载。 5. 运行时优化:在数据加载过程中,可以根据设备性能和网络环境进行一些运行时优化。例如,根据设备的GPU性能,调整数据的渲染细节;根据网络带宽,动态调整数据加载的速度等。 6. 用户交互:为用户提供一些交互功能,例如缩放、平移、旋转等操作。在交互过程中,根据用户的操作和视角变化,及时加载和卸载合适层次的数据,以提供更好的用户体验。 请注意,实现层次化的LOD技术需要根据具体的WebGIS开发框架和工具来进行实现。不同的框架和工具可能有不同的实现方式和API接口。在开发过程中,你可以参考相应的文档和示例代码,以及借助社区的支持和讨论来解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值