Real-Time Rendering——Chapter 16Polygonal Techniques多边形技术

“It is indeed wonderful that so simple a figure as the triangle is so inexhaustible.”
—Leopold Crelle

“像三角形这样简单的图形,却用之不竭,真是太奇妙了。”

利奥波德Crelle

Up to this point, we have assumed that the model we rendered is available in exactly the format we need, and with just the right amount of detail. In reality, we are rarely so lucky. Modelers and data capture devices have their own particular quirks and limitations, giving rise to ambiguities and errors within the data set, and so within renderings. Often trade-offs are made among storage size, rendering efficiency,and quality of the results. In this chapter we discuss a variety of problems that are encountered within polygonal data sets, along with some of the fixes and workarounds for these problems. We then cover techniques to efficiently render and store polygonal models.

到目前为止,我们一直假设我们渲染的模型完全是我们需要的格式,并且有适量的细节。事实上,我们很少这么幸运。建模者和数据采集设备有它们自己特殊的怪癖和局限性,会在数据集和渲染图中引起歧义和错误。通常在存储大小、渲染效率和结果质量之间进行权衡。在这一章中,我们将讨论在多边形数据集中遇到的各种问题,以及这些问题的一些修复和解决方法。然后,我们将介绍有效渲染和存储多边形模型的技术。

The overarching goals for polygonal representation in interactive computer graphics are visual accuracy and speed. “Accuracy” is a term that depends upon the context.For example, an engineer wants to examine and modify a machine part at interactive rates and requires that every bevel and chamfer on the object be visible at every moment. Compare this to a game, where if the frame rate is high enough, minor errors or inaccuracies in a given frame are allowable, since they may not occur where attention is focused, or may disappear in the next frame. In interactive graphics work it is important to know what the boundaries are to the problem being solved, since these determine what sorts of techniques can be applied.

交互式计算机图形中多边形表示的首要目标是视觉准确性和速度。“准确性”是一个依赖于上下文的术语。例如,一名工程师希望以交互速率检查和修改机器零件,并要求对象上的每个斜面和倒角在任何时候都是可见的。与游戏相比,如果帧速率足够高,给定帧中的小错误或不准确是允许的,因为它们可能不会出现在注意力集中的地方,或者可能在下一帧中消失。在交互式图形工作中,知道问题的边界是很重要的,因为这决定了什么样的技术可以被应用。

The areas covered in this chapter are tessellation, consolidation, optimization, simplification,and compression. Polygons can arrive in many different forms and usually have to be split into more tractable primitives, such as triangles or quadrilaterals.This process is called triangulation or, more generally, tessellation. Consolidation is our term for the process that encompasses merging separate polygons into a mesh structure, as well as deriving new data, such as normals, for surface shading. Optimization means ordering the polygonal data in a mesh so it will render more rapidly. Simplification is taking a mesh and removing insignificant features within it. Compression is concerned with minimizing the storage space needed for various elements describing the mesh.

本章涵盖的领域是镶嵌、合并、优化、简化和压缩。多边形可以以多种不同的形式出现,并且通常必须被分割成更易处理的图元,例如三角形或四边形。这个过程被称为三角剖分,或者更一般地,称为镶嵌。合并是我们的术语,指的是将单独的多边形合并到一个网格结构中的过程,以及派生新的数据,如曲面着色的法线。优化意味着对网格中的多边形数据进行排序,这样渲染速度会更快。简化就是获取一个网格并移除其中无关紧要的特征。压缩涉及最小化描述网格的各种元素所需的存储空间。

Triangulation ensures that a given mesh description is displayed correctly. Consolidation further improves data display and often increases speed, by allowing computations to be shared and reducing the size in memory. Optimization techniques can increase speed still further. Simplification can provide even more speed by removing unneeded triangles. Compression can be used to further reduce the overall memory footprint, which can in turn improve speed by reducing memory and bus bandwidth.

三角剖分确保给定的网格描述正确显示。通过允许共享计算和减少内存大小,整合进一步改善了数据显示,并且通常提高了速度。优化技术可以进一步提高速度。通过删除不需要的三角形,简化可以提供更高的速度。压缩可用于进一步减少整体内存占用,进而通过减少内存和总线带宽来提高速度。

你可能感兴趣的:(Real-Time,Rendering,渲染管线)