Advertisement

《Real-Time Rendering 4th Edition》读书笔记--简单粗糙翻译 第一章 序言

阅读量:

—————————————————————————————————————————————————————————

实时渲染即指计算机快速呈现图像的过程。它属于计算机图形学领域中以最具交互性著称的部分。用户的屏幕行为与反应将决定后续会呈现何种内容。高速处理与渲染速度能够让用户体验到连贯无间的效果而非分立的画面感。

我们可以用FPS(Frames Per Second)或赫兹(Hz)来衡量每秒渲染出的图像数量。若一秒仅产生一帧画面,则会令用户体验漫长等待并丧失互动体验。若刷新率提升至每秒6帧时,则用户的互动体验将逐步提升。电子游戏中追求的目标包括30 FPS、60 FPS、72 FPS以及更高的刷新率。仅当系统达到这一特定刷新率时,则用户体验者才可专注于提升互动体验。

该电影以每秒二十四帧的速度运行。但通过快门系统设计,在每次曝光时会重复播放两至四次以减少闪烁现象。要区分清楚这两个概念,请注意它们分别代表不同的参数指标:前者用于衡量图像更新频率后者则用于评估设备处理能力。通常用赫兹(Hz)来表示这两者的数值差异特别明显其中三次曝光下能够达到72赫兹(Hz)的标准这在某些专业应用中具有重要参考价值例如在LCD显示器中也需要明确区分这两个参数以便优化显示效果并确保图像质量得到提升

在24FPS的显示速率下或许可以被接受,在更高帧率下则可使响应时间得到减少。即使短暂的15毫秒延迟也会导致交互体验受到破坏。例如,在头戴式虚拟现实设备中通常要求90FPS以求降低延迟体验。

实时渲染不仅仅具备交互性。如果以速度作为唯一的评价标准,则任何能够迅速响应用户的指令,并在短时间内生成所需图像的应用都是符合要求的。通常情况下,在实时渲染过程中会追求生成三维图像的能力。

交互性与三维空间感是实时渲染的关键要素之一,并非仅仅依靠这两者就能完成表现;还须附加一个辅助性的定语——图形处理器加速。长久以来人们认为直到1996年3Dfx Voodoo 1卡的出现才真正开启了消费者级三维图形制作的时代;而在迅速发展的市场环境中;每一个计算机、平板电脑以及智能手机都配备了图形处理器;通过这一技术的应用,在实时渲染方面取得了显著成果;如下图:

Figure 1.1. This frame originates from Forza Motorsport 7. (Image courtesy of Turn 10 Studios, Microsoft.)

Figure 1.2 shows Beauclair City rendered in The Witcher 3 series (CD PROJEKT R ?, The Witcher R ? are registered trademarks belonging to the CD PROJEKT Capital Group; the Witcher game c is a trademark and development rights owned exclusively by CD PROJEKT S.A., which specializes in crafting high-quality video games based on Andrzej Sapkowski's original stories; all other copyrights and trademarks belong to their respective owners).

随着计算机图形学的发展速度日益加快,其在交互领域的研究也得到了显著推动。我们应当集中精力探索提高图像质量更为快捷有效的途径,以期减少对现有加速算法及相关图形API存在的缺陷进行改进。本文将不深入探讨各个相关问题,旨在阐述一些核心概念与术语,并为那些渴望深入学习该技术的人士提供丰富资源链接,使这些努力将有助于提升读者对该技术的理解与应用能力

1.1内容概况:

第二章 渲染管线

第三章 图形处理单元 现代通用处理器(GPU)实现了硬核图形处理架构下的固定渲染流程以及软核可配置图形处理能力

第四章 变换 移动、旋转、拉伸物体的方法

第五章 着色基础 材质、光、反走样、透明度、gama校正

第六章 纹理 什么是纹理及怎么运用

第七章 阴影 什么是阴影及阴影的运用

第八章 光和颜色 理解基于物理的渲染的前提

第九章 基于物理的渲染 构建一个完整的基于物理的渲染的模型。

第十章 局部光照 介绍光源和算法

第十一章 全局光照 光反射、折射、散射、遮挡等

第十二章 图像空间特效 基于图像的效果、后处理效果

第十三章 超越多边形 三角形不是最快的或最逼真的渲染物体的方式

第十四章 体渲染和半透明渲染 介绍一些体渲染和半透明渲染的方法

第十五章 非真实感渲染 卡通渲染、水彩效果、线段和文本生成技术

第十六章 多边形技术 几何数据

第十七章 曲线和曲面 复杂表面的表现

第十八章 管线优化 渲染管线优化方法

第十九章 加速算法 剔除和LOD方法

第二十章 高效着色 如何高效的解决着色中多光源或者多片元的问题

第二十一章 虚拟现实和增强现实 VR&AR

第二十二章 交叉测试方法 碰撞检测

第二十三章 图形硬件 深度、帧缓冲

第二十四章 未来

受限于空间资源限制,在 realtimerendering.com 上可获取碰撞检测、实时光线追踪、线性代数及三角学的相关内容

1.2 符号和定义

说明下在这本书中用到的数学符号。

1.2.1 数学符号

表1.1总结了我们用到的大部分数学符号。一些概念我们会详细介绍。

表1.1 本书中用到的一些符号总结

需要注意的是有一些规定需要特别注意。首先,在渲染方程中一些符号已经固定下来。例如L代表辐射率,E代表辐照度,σs代表散射系数。具体来说,角度与标量属于实数,而向量与点则采用加粗的小写字母表示。

列向量格式如下

齐次坐标系中使用

来表示点和坐标。表示向量,

表示点。

有时我们会采用由三个元素构成的向量与点进行操作, 但应尽量避免采用这种三元素的方法, 因为这可能会导致混淆. 在矩阵运算中, 应用齐次坐标系通常会带来便利. 由于齐次坐标统一了 向量与点的表示方式, 这种方法在某些情况下显得更为简洁. 在一些算法中, 以数字索引的方式通常比xyz这样的表示方法更为便捷.

。这些规则对二元素也合适,只不过忽略了最后一个元素而已。

矩阵的表达方式较为复杂一些。常见的有2×2、3×3、4×4等大小的矩阵。我们主要介绍的是3×3阶矩阵M及其扩展特性。其元素表示为

,i表示的行,j表示的列。如公式1.1

如公式1.2表示一个3x3矩阵,

表示的是第j列的向量,

该符号代表的是位于第i号元素处的向量,并与点以及向量的一般表达方式一致,在访问时同样地我们可以使用xyzw来进行

使用

用符号π来表示平面;这是一个点到面的距离公式(point-to-plane distance formula),其中包含了两个关键参数:用于描述空间中位置关系的空间坐标轴单位矢量n以及标量d;这个矢量n描述了空间中该几何体表面的方向信息;对于三维空间中的曲面而言;这个矢量n和平行于该几何体表面的所有位置信息;而当处理的是一个平面对称图形时;这个矢量n在所有属于该几何体表面的位置上都指向同一个固定方向;即在这些位置上具有相同的指向性特征;因此在计算中我们可以将这个参数简称为常数项或常数因子;而为了简化运算过程我们通常将这个参数记作小写的希腊字母π(pi);这样做的好处是可以使后续计算更加简便而且直观

表示正半空间,

表示负半空间,其他的点都在平面上。

三角形可以用三个点

表示,标记为

表1.2列举了常见的数学操作符

函数

是标准函数

的拓展。两者的区别在:

,而

。atan2(y,x)表示向量(x,y)和x轴之间的角度,需要一个额外的参数,且不能为0。

是自然对数

,而不是

我们的坐标系统采用右手定则。我们的颜色由RGB三元组表示。每个分量的取值范围限定在0到1之间。

1.2.2 几何定义

主要图形硬件使用的基础构建模块包括点、线和三角形。
在本书中,默认将这些基础构建模块归类为模型或对象。
场景是由多个模型构成的整体,在其中不仅展示了各种各样的三维对象,并且包含了材质与光照等关键属性。
一个物体可能包含多个子物体来增强复杂度。

1.2.3 着色

必须明确区分在计算机图形学领域中'渲染'与'着色'这两个核心概念。例如,在计算机图形学中,渲染模型的具体实现涉及多个关键环节:包括但不限于绘制几何体(如多边形)、解算光线传播路径(如辐射度方程)、卡通级渲染技术以及现代实时渲染系统中的可编程顶点着色器实现等;而这些环节均与'着色程序设计语言'密切相关

进一步阅读和资源

realtimerendering.com网站上提供了我们提供的重要资源库。这些信息以及每章的资源文件被提供了。

全部评论 (0)

还没有任何评论哟~