Real-Time Rendering 翻译 1.引言
来源:互联网 发布:天津基础教研网络 编辑:程序博客网 时间:2024/05/22 12:02
欢迎大家围观评论,我每天抽出一个小时以上翻译,绝不太监。当然有翻译不好或者理解不到位的地方,欢迎大家拍砖!!!
第一章 引言
实时渲染主要关注如何快速的在计算机上渲染出图像。是计算机图形学中最热门的领域。图像渲染到屏幕后,会影响到观察者的行为,而观察者的行为又会影响到接下来的渲染。这个反馈和渲染速度非常快,观察者不会看到单独的图像,而是沉浸到这一动态过程中。
使用每秒帧数(fps)或者(Hz)来衡量图像的渲染频率。一秒一帧的频率下,毫无交互性可言,用户感觉自己的操作需要很长时间。在6fps的频率下,有一点交互性。当一个应用达到15fps就可以称之为实时了,用户会聚集到操作和反馈。由于用户的限制,超过72fps之后,用户就很感知更高的频率。
当用户观看超过60fps的图像渲染时不会有任何延迟感,更高的帧率只不过减少用户操作的反馈时间而已。在某些强操作交互中,即使15ms的延迟也会影响到用户体验。当然我们这里主要讨论的是实时渲染而不是交互性。如果反应速度是关键因素,能快速响应用户操作并在屏幕上呈现结果的应用就是合格的。实时渲染一般指的是三维物体的渲染。
交互性和三维空间不是实时渲染的关键条件,而是一种第三方部件–图像加速硬件(显卡)。在工作站上的专用的三维图像渲染硬件已经出现了很多年,不过这种硬件在消费级领域出现时间不长。公认的第一次出现在消费级领域的硬件是1996年出现的3Dfx Voodo 1。随着市场的快速增长,这种三维图像渲染硬件已经成为PC的标配了。不仅仅是用在实时渲染领域,它也用于很多的实时应用。
过去几年,图形硬件引发了交互图形学的爆发式增长。我们主要研究加速渲染速度和提高图像质量,并且描述加速算法和图像API的特性和优缺点。我们不会深入每个主题,而是介绍概念和术语,介绍每种方法的使用场景,提供更深沉次信息的入口。我们希望我们的尝试可以让你理解这一领域,让你觉得值得花费时间在本书上。
1.1 内容预览
下面是每个章节的简介。
第二章,渲染管线,本章描述实时渲染的核心 - 渲染管线,一种机制接受场景描述并转换为我们所见图像。
第三章,渲染单元,现代GPU实现实的时渲染的固定管线功能和可编程功能。
第四章,变换,变换是操作位移、旋转、缩放和相机的变化的工具。
第五章,外观,本章开始讨论材质、光照和它们之间的结合应用以实现具有真实感的外观。还会覆盖到外观相关的反走样和伽马校正。
第六章,纹理贴图,实时渲染中最重要的工具,用来实现在表面上显示图像。本章主要讨论这种技术的机制,和各种各样的应用方式。
第七章,高级着色,本章讨论高级着色的理论和实践,主要是如何表示材质和使用光源。
第八章,区域和环境光,讨论更多的光源类型和算法。
第九章,全局光照,阴影、反射、折射、光线跟踪、预计算光源和环境光遮罩等技术。
第十章,图像效果,使用多边形并不是最快的方式来表现光晕、火等效果。 本章主要讨论基于图像的效果。各种后处理特效,比如动态高光、运动模糊、景深。
第十一章,非真实渲染,本章讨论卡通渲染。
第十二章,多边形技术,几何数据来源范围很广,有时为了渲染速度回修改几何数据。本章讨论多边形数据的清理和简化操作。还会介绍一些压缩表示方式,例如三角形带,fans和网格。
第十三章,曲线曲面,硬件最终处理的还是点、线和多边形。一些复杂的表面会在质量和渲染速度上取得一些平衡,以及更好的压缩表示和光滑曲面的生成。
第十四章,加速算法,主要包含空间裁剪和LOD。
第十五章,管线优化,加速算法可以让应用更加流畅。本章主要研究如何找到瓶颈并处理瓶颈。还会介绍多遍渲染。
第十六章,相交测试,相交测速对渲染、用户交互和碰撞检测来说十分重要。本章主要介绍一系列有效的算法来判别几何体之间是否相交。
第十七章,碰撞检测,对某些实时应用来说,找出两种对象是否相交十分关键。本章会介绍一些这个领域中的有效算法。
第十八章,图形硬件,之前的章节讨论过GPU加速算法,本章讨论其他部分,例如颜色、深度、帧缓存等基础结构类型。研究一些图形加速例子。
第十九章,未来
附录中有一些线性代数和三角函数相关知识。
1.2 符号和定义
先讨论本书所使用的数学符号,附录A详细的解释了本章的一些术语。
1.2.1 数学符号
表1.1总结了我们所使用的数学符号。这里会详细的讨论某些概念。
表1.1
角度和标量都是使用实数R来表示,向量和点使用加黑的小写字母来表示,如
齐次坐标系中使用
矩阵要稍微复杂一点。常见的为2x2,3x3和4x4矩阵。我们主要介绍一下3x3矩阵M的访问方式,可以轻易的推广到其他尺寸。矩阵M的元素表示为
如公式1.3的3x3矩阵所示的符号是用来矩阵中的向量,
使用
使用三点
表1.2列举常见的数学操作及其符号表示。附录A还包含了点乘、叉乘、行列式和取模。转置操作将列向量变换为行向量,反之亦然。故此列向量可以表示为
第十个操作符,二项式因子,定义如下1.5:
更进一步来说,我们称
符号[a,b]用来表示包含a和b的区间。如果不包含a和b,使用符号(a,b)表示。也可以任意组合这两种表示,如[a,b)表示a和b之间的区间,包含a但是不包含b。
本书经常使用C函数atan2(y,x)。这是标准函数arctan(x)的扩展。两者之间的区别在于,
.
Clamped-cosine,
我们使用右手坐标系,因为这是计算机图形中三维几何的标准坐标系。
使用三元素(red, green, blue)来表示颜色,每个元素在范围[0,1]内。
1.2.2 几何定义
图形硬件使用的最基本图元为点,线和三角形。
贯穿本书,我们称基本图元的集合为模型或者对象。场景是模型的集合,包含场景中所有需要渲染的对象。场景还包含材质,灯光和观察者。
例如对象可以为车、建筑、甚至于直线。实际中,一个对象包含大量的渲染图元,但也不是总是这样。一些对象有更高抽象层次的集合表示,比如所贝塞尔曲线和曲面,细分表面等等。对象也可以包含其他对象,我们称车门为车的子集。
进一步阅读
我们能给到你最重要的资源为本书的网站,http://www.realtimerendering.com。网站包含每章所对应的最新的信息和网址。实时渲染领域的变换日新月异。本书我们尝试关注于基础和看起来不太会过时的实际。网站经常会为开发者呈现最新的信息,尽量保持更新。
- Real-Time Rendering 翻译 1.引言
- Real-Time Rendering 翻译 2.渲染管线
- Real-Time Rendering 翻译 4.变换【上】
- Real-Time Rendering 翻译 4.变换【下】
- 《Real-Time Rendering》第三版—第一章 引言
- Real Time Rendering --third edition 16.8节翻译
- Real-Time Rendering 翻译 3.图形处理单元
- Real-time rendering笔记
- Real-Time Rendering 笔记
- Real-time rendering笔记
- Real-Time Rendering 笔记
- Real-time rendering笔记
- Real Time Rendering
- Real-Time Rendering-第一章 Introduction
- real time rendering 第三版 内容介绍
- 【转】Resources on Real-Time Rendering
- Precomputed Radiance Transfer for Real-Time Rendering
- Real-Time Rendering Chaper 2 translation
- Linux常用命令
- js中删除table里所有行
- Apache IfModule prefork.c参数说明
- CKEditor全部配置参数
- 万众期待,黑马程序员强势推出PHP学科!
- Real-Time Rendering 翻译 1.引言
- Oracle的安装和配置
- 【今日开讲】--- JFinal框架全解析(一)
- Maven 项目不打包 *.hbm.xml 映射文件
- RSS/CSI原型系统设计
- H5元素以及属性
- 23种设计模式(3)--singleton模式
- 系统业务进化重构之数据迁移--落地思考
- 静态方法与非静态方法的区别