admin管理员组文章数量:1794759
Chapter
本人才疏学浅,翻译不对的地方欢迎指正,PS:这个文章只是本人的一个学习记录,大部分是翻译软件加本人的简单理解。
-----------------------------------------------炳叔-----------------------------------------------------------------365xxx-
实时渲染指的是在计算机上快速绘制图片。它是计算机图形学中交互性最强的领域。一个图像出现在屏幕上,观平板电脑前十名看者采取行动或做出反应,而这个反馈将影响接下来生成的内容。这种反应和呈现的循环以足够快的速度发生,以至于观看者不会看到单独的图像,而是沉浸在一个动态过程中。
图像显示的速率以每秒帧数(FPS)或赫兹(Hz)来衡量。以每秒一帧的速度,游戏几乎没有互动性;用户痛苦地意识到每个新图像的到来。在大约6 FPS的时候,交互性开始增长。电子游戏的目标是30,60,72或更高的FPS;在这种速度下,用户关注的是动作和反应。
电影放映机以24帧每秒的速度放映帧,但使用快门系统,每帧放映2到4次,以避免闪烁。这个刷新率与蜘蛛侠返校季显示速率分开,以赫兹(Hz)表示。一个快门照亮帧三次,刷新率为72Hz。LCD显示器也将刷新频率与显示频率分开。
观看图像以24FPS的速度出现在屏幕上可能是可以接受的,但更高的速度对于最小化响应时间非常重要。哪怕只有15毫秒的时间延迟也会减缓和干扰交互。例如,头戴式虚拟现实显示器通常需要90帧/秒的帧率来最小化延迟。
实时渲染不仅仅是交互性。如果速度是唯一的标准,那么任何快速响应用户命令并在屏幕上绘制任何内容的应用程序都符合条件。实时渲染通常意味着生成三维图像。
交互性和与三维空间的某种联系感是实时渲染的充分条件,但第三个元素什么是服务意识已成为其定义的一部分:图形加速硬件。1996年引入的3Dfx Voodoo 1显卡真正开始了消费者级的三维图形硬件。随着这个市场的快速发展,现在每台电脑、平板电脑和手机都内置了一个图形处理器。一些通过硬件加速实现的实时渲染结果的优秀示例如图1.1和1.2所示。
图形硬件的进步推动了交互式计算机图形领域的研究。我们将聚焦于提供提高速度和改善图像质量的方法,同时也描述加速算法和图形api的特性和限制。我们不可能深入讨论每个主题,所以我们的目标是介绍关键概念和术语,解释该领域中最健壮和最实用的算法,并提供指向获取更多信的最佳位置的指引。我们希望我们为您提供的理解这个领域的工具能够证明值得您花时间和精力在我们的书上。
1.1 内容概括
下面是对前面章节的简要概述。
第2章,图形渲染管线。实时渲染的核心是通过一系列的步骤,将场景描述转换成我们可以看到的东西。
第3章,图形处理单元。现代GPU使用固定功能和可编程单元的组合来实现渲染流水线的各个阶段。
第4章,转换。转换是操作位置、方向、大小和物体形状以及相机的位置和视图的基本工具。
第5章,渲染基本知识。讨论材质和光照的定义和他们在获得平坟运动写实和非写实的期望的表面呈现中的使用。也介绍了其他的表现相关的主题,比如琼花图片通过使用抗锯齿,透明度和伽玛校正来提高图片的品质。
第6章,纹理。实时渲染最强大的工具之一是在表面上快速访问和显示图像的治脚气能力。这个过程称作纹理,以及有各种各样应用纹理的技术。
第7章,阴影。在场景中添加阴影可以增加真实感和理解力。呈现出了比较流行的快速计算阴影的算法。
第8章,光和颜色。在我们基于物理地处理渲染之前,我们首先需要了解如何量化光和颜色。在我们的物理呈现过程完成之后,我们需要将结果数量转换为显示值,并考虑到屏幕和查看环境的属性。这两个主题都将在本章中讨论。
第9章,基于物理的渲染。我们从头开始理解基于物理的渲染模型。本章从底层的物理现象开始,涵盖了各种渲染材质的模型,并以混合材质和过滤它们以避免锯齿和保持表面外观的方法结束。
第10章,局部光照。探讨了描述更精细光源的算法。表面着色纳入考虑:光线是由具有特定形状的物理物体发出的。
第11章,全局光照。模拟光线和场景之间的多次交互的算法进一步增加了图像的真实感。我们讨论了环境和方向遮挡,以及在漫反射和镜面上渲染全局照明效果的方法,以及一些有前途的统一方法。
百变小樱图片第12章,图像空间效果。图形硬件擅长于快速执行图像处理。首先讨论图像过滤和二次投影技术,然后我们调查了几种流行的后处理效果:镜头光晕,运动模糊和景深效果。
第13章,除了多边形之外。三角形并不总是描述物体最快或最真实的方式。基于图像、点云、体素和其他样本集的表示各有其优点。
第14章,体积和半透明渲染。这里的重点是体材质表现的理论和实践,以及它们与光源的交互。模拟的现象范围从大尺度的大气效应到薄头发纤维中的光散射。
第15章,非真实渲染。让场景看起来逼真只是渲染它的一种方法。还有其他的风格,如卡通渲染和水彩效果。还讨论了线和文本生成技术。
第16章,多边形技术。几何数据来自广泛的来源,有时需要修改以快速和良好地呈现。介绍了多除甲醛项目边形数据表示和压缩的多个方面。
第17章,曲线和曲面。更复杂的表面表示提供了一些优势,比如能够在质量和渲染速度之间进行权衡,更紧凑的表示,以及平滑的表面生成。
第18章,管线优化。应用程序运行并使用高效算法后,可以使用各种优化技术使其运行得更快。找到瓶颈并决定如何解决它是这里的主题。也讨论了多处理。
第19章,加速算法。你让它开动之后,让它快一点。涵盖了各种形狗狗不吃东西怎么办式的剔除和层次细节渲染技术。
第20章,高效渲染。m2ts场景中大量的灯光会大大降低性能。在知道是否可以显示之前完全渲染表面片元是另一个浪费。我们探索了大量的方法来解决这些和其他形式的低效率渲染。
第21章,VR和AR。这些领域有特殊的挑战和技术,以快速和一致的速度高效地生成逼真的图像。
第22章,相交性检测。学科分类相交检测对于渲染、用户交互和碰撞检测非常重要。本文深入介绍了用于常见几何相交测试的各种最有效算法。
第23章,图形硬件。这里的重点是颜色深度、帧缓冲区和基本架构类型等。给出了一个具有代表性的GPU的实例研究。
第24章,未来。猜猜看(我们这么做了)。
由于篇幅限制,我们制作了一章关于碰撞检测,可以在realtimerendering免费下载,包括线性代数和三角函数的附录。
1.2 符号和定义
首先,我们将解释这本书中使用的数学符号。对本节和本书中使用的许多术语的更全面的解释,请在realtimerendering上获取我们的线性代数附录来查询。
1.2.1 数学符号
表1.1概述了我们将会使用的大部分数学符号。这里将详细介绍其中的一些概念。
请注意,该表中的规则有一些例外,几何平均数主要是用文献中已经很好地建立起来的符号来表示渲染方程,比如L表示辐射率,E表示辐照度,σs表示散射系数。十大必看玄幻小说角度和标量是从R取的,也就是说,它们是实数。向量和点用粗体小写字母表示,元素被访问为
即用在计算机图形世界中是常用的列向量的格式。在文本的某些地方我们使用(vx, vy, vz)替换形式上更准确的 (vx vy vz)T,因为这个格式更易于阅读。
使用齐次的符号,一个坐标由四值的v=(vx vy vz vw)表示,向量是v = (vx vy vz 0)T,点是v = (vx vy vz 1)T。有时我们只使用三个元素的向量和点,但是我们尽量避免使用类型导致的歧义。对于矩阵操作来说,向量的表示法与点的表示法相同是非常有利的。有关更多信,请参见第4章 转换。在某些算法中,用数字索引代替x、y和z会很方便,比如v = (v0 v1 v2)T。所有这些关于向量和点的规则也适用于二元向量;在这种情况下,我们只需去掉三个元素向量的最后一个分量。
矩阵需要更多的解释。常用的尺寸是2×2、3×3和4×4。我们将回顾访问3×3企业危机处理矩阵M的方式,并且很容易将此过程扩展到其他尺寸。M的元素(标量)用mij,0 ≤ (i,j) ≤ 2,i表示行,j表示列,如方程1.1:
下面的表示法,如方程1.2所示,对于一个3×3矩阵,用于将向量从矩阵M中分离出来:m,不锈钢盘管j表示第j列向量,mi表示第i行向量(以列向量的形式)。与向量和点一样,列向量的索引也可以用x、y、z来完成,有时也可以用w来完成:
π表示一个平面:: n · x + d = 0 包含他的数学法则,平面法向量 n 和标量 d。法线是一个描述了平面的方向的向量。更一般地说(例如,对于曲面),法线描述曲面上某一点的这个方向。对于平面来说,同样的法线作用于它的所有点。π是平面常用的数学符号。平面π将空间分成正的半空间 n · x + d > 0 和 负的半空间 n · x + d < 0。所有其他点就落在平面上。
三角形可以由三个点v0, v1, v2定义,用△v0v1v2表示。
表1.2给出了一些额外的数学运算符及其符号。点乘、叉乘、行列式和长度运算在我们的可下载线性代数附录中有解释。转置运算把列向量变成行向量,反之亦然。因此,可以将列向量以压缩形式写在文本块中,如v = (vx vy vz)T。在Graphics Gems 4中引入的操作符4 是二维向量上的一元运算符。把这个操作用在一个向量 v = (vx vy)T 得到一个垂直于v的向量,即v⊥ = (−vy vx)T。我们使用 |a| 表示标量 a 的绝对值,|A| 表示矩阵 A 的行列式。有时,我们也用|A| = |a b c| = det(a, b, c)其中a b c是矩阵A的列向量。
操作符8和9是clamp操作符,通常用于渲染计算。操作符8将负值夹到0:
操作符9夹住0到1之间的值:
第十个操作符,阶乘,定义如下,注意 0的阶乘等于1:
第十一个操作符,二项式系数,如方程1.6所示:
更进一步,我们平面x = 0, y = 0和z = 0为坐标平面或轴对齐平面。坐标轴ex = (1 0 0)T, ey = (0 1 0)T,和ez = (0 0 1)T称为主轴或主方向,分别称为x轴、y轴和z轴。这组坐标轴通常称为标准基。除非另有说明,否则我们将使用正交基(由相互垂直的单位向量组成)。
包含a和b以及两者之间所有数字的范围的表示法是[a, b]。如果我们想要a和b之间的所有数,而不是a和b本身,那么我们写(a, b)。这些数字也可以组合,例如,[a, b)表示a和b之间的所有数字,包括a,但不包括b。
本文中常用的C-math函数 atan2(y,x) 值得注意。它是数学函数 arctan(x) 的扩展。它们之间的主要区别是-π*0.5 < arctan(广告平台x) <π*0.5, 0≤atan2(y, x) < 2*π,并添加了一个额外的参数到后一个函数。arctan 的一个常见用法是计算arctan(y/x),但当x = 0时,会导致除0的结果。atan2(y,x)的额外参数避免了这种情况。
在本卷中,log(n)表示自然对数 loge(n),不是以10为底的对数 log10(n)。
我们使用右手坐标系,因为这是计算机图形学领域中三维几何的标准坐标系。
颜色由三个元素向量表示,例如(红、绿、蓝),其中每个元素的范围为[0,1]。
1.2.2 几何定义
痘痘怎么治疗 被几乎所有的图形硬件使用的基本的渲染图元(也称为绘制图元)是点、线和三角形。
在本书中,我们将几何实体的集合称为模型或对象。一个场景是一个模型的集合,它包含了环境中要渲染的所有东西。场景还可以包括材质描述、照明和视角规范。
对象的例子有汽车、建筑,甚至是一条线。在实践中,一个对象通常由一组绘图基元组成,但情况可能并非总是如此;一个对象可能有更高级的几何表示,比如贝塞尔曲线或者曲面或者细分曲面。同样,对象可以由其他对象组成,例如,一个汽车对象包括四个门的开车教程对象,四个轮子的对象,等等。
1.2.3 渲染
遵循计算机图形学的既定用法,在本书中从“着色”,“着色器”和相关的词衍生的术语被用来指代两个不同但相关的概念:计算机生成的视觉外观(例如,“着色模型”,“着色方程”,“卡通着色”)或渲染系统的可编程组件(例如,“顶点着色器”,“着色语言”)。在这两种情况下,应该从上下文来弄清楚他的意思。
补充阅读和在线资源
我们可以向你推荐的最重要的资源是这本书的网站:realtimerendering.它包含与每个章节相关的最新信和网站的链接。实时渲染领域正在随着实时速度的变化而变化。在这本书中,我们试图把重点放在那些基本的概念和不太可能过时的技术上。在网站上,我们有机会展示与当今软件开发人员相关的信,并且我们有能力使其保持最新。
本文标签: Chapter
版权声明:本文标题:Chapter 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1685930139a12704.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论