注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络计算机辅助设计与工程计算其他相关软件Cg教程:可编程实时图形权威指南

Cg教程:可编程实时图形权威指南

Cg教程:可编程实时图形权威指南

定 价:¥38.00

作 者: ( )Randima Fernando,( )Mark J.Kilgard著;洪伟等译
出版社: 人民邮电出版社
丛编项:
标 签: 图象处理 应用软件

ISBN: 9787115124302 出版时间: 2004-01-01 包装: 胶版纸
开本: 24cm 页数: 304 字数:  

内容简介

  Cg是最早的为可编程图形硬件设计的高级编程语言,本书教你如何编写Cg程序。本书共10章,第1章简要介绍Cg语言。随后的每一章分别介绍Cg中的一个概念和技术的说明,包括最简单的Cg程序,参数、纹理和表达式,如何进行顶点变换,如何用Cg实现光照模型,如何用Cg顶点程序实现模型的动画和变换,如何实现环境贴图,如何实现凹凸贴图,雾、卡通光照、投影聚光、阴影贴图和复合技术,目前可用的Cg的顶点和片断的简要描述(Profile)等内容。每章的结尾提供了习题,以帮助你进一步学习,探索更多的Cg知识。本书另外还附有5个关于Cg基础知识的附录。本书适合开发三维游戏和应用软件的程序员及项目管理人员、实时三维美工人员和学习计算机图形学的学生阅读,也可供任何对学习实时渲染技术当前发展动态有兴趣的人士阅读参考。

作者简介

暂缺《Cg教程:可编程实时图形权威指南》作者简介

图书目录

第1章  简介
1.1  什么是Cg?  1
1.1.1  为可编程图形硬件设计的语言  2
1.1.2  Cg的数据流模型  2
1.1.3  图形处理器的特殊性和中央处理器的通用性  3
1.1.4  Cg性能的基本原理  3
1.1.5  与传统编程语言共存  4
1.1.6  Cg的其他方面  22
1.1.7  Cg程序的有限执行环境  22
1.2  顶点、片段和图形流水线  23
1.2.1  计算机图形硬件的发展史  23
1.2.2  四代计算机图形硬件  24
1.2.3  图形硬件流水线  28
1.2.4  可编程图形流水线  31
1.2.5  Cg提供了顶点和片段的可编程能力  34
1.3  Cg的发展史  35
1.3.1  Microsoft和NVIDIA协作开发了Cg和HLSL  37
1.3.2  非交互的着色语言  37
1.3.3  三维图形的编程接口  40
1.4  Cg环境  40
1.4.1  标准三维编程接口:OpenGL和Direct3D  40
1.4.2  Cg编译器和运行库(Runtime)  42
1.4.3  CgFX工具箱和文件格式  44
1.5  练习  47
1.6  补充阅读  47
第2章  最简单的程序
2.1  一个简单的顶点程序  49
2.1.1  输出结构(Output Structure)  50
2.1.2  标识符  51
2.1.3  结构成员  52
2.1.4  向量  52
2.1.5  矩阵  53
2.1.6  语义  54
2.1.7  函数  55
2.1.8  输入和输出语义是不同的  55
2.1.9  函数体  57
2.2  编译你的例子  58
2.2.1  顶点程序Profile  58
2.2.2  Cg编译错误类别  60
2.2.3  依赖profile的错误  60
2.2.4  标准:多重入口函数  61
2.2.5  下载和设置顶点和片段程序  62
2.3  一个简单的片段程序  63
2.3.1  片段程序profile  65
2.4  用你的顶点和片段示例程序渲染  67
2.4.1  用OpenGL渲染一个三角形  67
2.4.2  用Direct3D渲染一个三角形  67
2.4.3  获得同样的结果  68
2.5  练习  70
2.6  补充阅读  70
第3章  参数、纹理和表达式
3.1  参数  71
3.1.1  Uniform参数  71
3.1.2  const类型限定符  74
3.1.3  Varying参数  74
3.2  纹理样本  76
3.2.1  样本对象  77
3.2.2  纹理采样  78
3.2.3  在对一个纹理采样的时候,发送纹理坐标  78
3.3  数学表达式  79
3.3.1  操作符  79
3.3.2  依赖于profile的数值数据类型  81
3.3.3  标准库内置的函数  84
3.3.4  二维扭曲  86
3.3.5  重影效果  90
3.4  练习  94
3.5  补充阅读  95
第4章  变换
4.1  坐标系统  97
4.1.1  物体空间  98
4.1.2  齐次坐标  99
4.1.3  世界空间  99
4.1.4  建模变换  99
4.1.5  眼睛空间  100
4.1.6  视变换  101
4.1.7  剪裁空间  102
4.1.8  投影变换  102
4.1.9  标准化的设备坐标  103
4.1.10  窗口坐标  104
4.2  理论应用  104
4.3  练习  105
4.4  补充阅读  105
第5章  光照
5.1  光照和光照模型  107
5.2  实现基本的每个顶点的光照模型  109
5.2.1  基本的光照模型  109
5.2.2  一个基本的每个顶点光照的顶点程序  115
5.2.3  每个顶点光照的片断程序  124
5.2.4  单个顶点光照结果  124
5.3  单个片断光照  124
5.3.1  实现每个片断的光照  126
5.3.2  用于每个片断光照的顶点程序  127
5.3.3  用于每个片断光照的片断程序  127
5.4  创建一个光照函数  129
5.4.1  声明一个函数  129
5.4.2  一个光照函数  131
5.4.3  结构  131
5.4.4  数组  132
5.4.5  流程控制  133
5.4.6  计算漫反射和镜面反射光照  135
5.5  扩展基本模型  135
5.5.1  距离衰减  136
5.5.2  增加一个聚光灯效果  138
5.5.3  平行光  141
5.6  练习  143
5.7  补充阅读  144
第6章  动画
6.1  随时间运动  145
6.2  一个有规律搏动的物体  146
6.2.1  顶点程序  147
6.2.2  位移计算  148
6.3  粒子系统  150
6.3.1  初始化条件  151
6.3.2  向量化计算  152
6.3.3  粒子系统的参数  152
6.3.4  顶点程序  153
6.3.5  修饰你的粒子系统  155
6.4  关键帧插值  156
6.4.1  关键帧的背景知识  156
6.4.2  插值方法  159
6.4.3  基本的关键帧插值  161
6.4.4  带光照的关键帧插值  162
6.5  顶点混合(Vertex Skinning)  163
6.5.1  顶点混合理论  163
6.5.2  在顶点程序中的顶点混合  165
6.6  练习  167
6.7  补充阅读  168
第7章  环境映射技术
7.1  环境映射  169
7.1.1  立方贴图纹理  170
7.1.2  生成立方贴图  171
7.1.3  环境映射的概念  171
7.1.4  计算反射向量  171
7.1.5  环境映射的一些假设  173
7.2  反射环境映射  174
7.2.1  应用程序指定的参数  175
7.2.2  顶点程序  175
7.2.3  片断程序  179
7.2.4  控制贴图  180
7.2.5  顶点程序对片断程序  180
7.3  折射环境映射  181
7.3.1  折射的物理原理  182
7.3.2  顶点程序  184
7.3.3  片断程序  186
7.4  菲涅耳效果和颜色色散  187
7.4.1  菲涅耳效果  187
7.4.2  颜色色散  188
7.4.3  应用程序指定的参数  189
7.4.4  顶点程序  190
7.4.5  片断程序  191
7.5  练习  193
7.6  补充阅读  194
第8章  凹凸映射
8.1  凹凸映射一个砖墙  195
8.1.1  砖墙的法向量贴图  196
8.1.2  把凹凸贴图存储成法向量贴图纹理  197
8.1.3  对一个砖墙的简单凹凸映射  199
8.1.4  带镜面反射的凹凸映射  203
8.1.5  凹凸映射其他几何图形  206
8.2  凹凸映射一个砖砌的地板  208
8.2.1  渲染一个砖扑的地板的顶点程序  210
8.3  凹凸映射一个园环  213
8.3.1  园环的数学表示  213
8.3.2  凹凸映射的园环的顶点程序  216
8.4  凹凸映射纹理的多边形网格  218
8.4.1  考察单独一个三角形  218
8.4.2  一些告戒  221
8.4.3  推广到一个多边形的网格  222
8.5  把凹凸映射和其他效果结合在一起  223
8.5.1  印花贴图(Decal Map)  223
8.5.2  光泽贴图  223
8.5.3  投射自己的几何阴影(Geometric Self-Shadowing)  224
8.6  练习  225
8.7  补充阅读  225
第9章  高级论题
9.1  雾  227
9.1.1  均匀的雾  228
9.1.2  雾的属性  229
9.1.3  雾的数学基础  229
9.1.4  直觉化公式  231
9.1.5  用Cg创建均匀的雾  232
9.2  非真实性渲染  234
9.2.1  卡通着色  234
9.2.2  实现卡通着色  235
9.2.3  集成在一起  238
9.2.4  这个技术的一些问题  238
9.3  投影贴图  240
9.3.1  投影纹理是如何工作  241
9.3.2  实现投影纹理贴图  243
9.3.3  投影纹理贴图的代码  244
9.4  阴影映射  247
9.5  合成  249
9.5.1  把输入映射到输出像素  250
9.5.2  基本的合成操作  250
9.6  练习  254
9.7  补充阅读  255
第10章  Profile和性能
10.1  Profile描述  257
10.1.1  DirectX8的顶点着色器Profile  257
10.1.2  OpenGL的基本NVIDIA顶点程序Profile  258
10.1.3  OpenGL的ARB顶点程序Profile  258
10.1.4  DirectX 9的顶点着色器Profile  259
10.1.5  OpenGL高级NVIDIA顶点程序Profile  259
10.1.6  DirectX 8的像素着色器Profile  259
10.1.7  用于OpenGL的基本NVIDIA片断程序Profile  260
10.1.8  DirectX 9像素着色器Profile  261
10.1.9  OpenGL的ARB片断程序Profile  261
10.1.10  OpenGL高级NVIDIA片断程序Profile  261
10.2  性能  262
10.2.1  使用Cg标准库  262
10.2.2  充分利用统一参数  263
10.2.3  使用顶点程序对比使用片断程序  263
10.2.4  数据类型和它们对性能的影响  264
10.2.5  充分利用向量化  264
10.2.6  使用纹理来编码函数  265
10.2.7  自由使用重组(Swizzling)和取反(Negation)  265
10.2.8  只对必须着色的像素进行着色  266
10.2.9  简短的汇编代码并不是更快的性能所必须的  266
10.3  练习  267
10.4  补充阅读  267
附录A  Cg入门
A.1  获得这本书的配套软机  269
A.2  获得Cg工具箱  269
附录B  Cg运行库
B.1  什么是Cg 运行库?  271
B.2  为什么使用Cg 运行库?  271
B.2.1  未来的证明  271
B.2.2  没有依靠问题  272
B.2.3  输入参数管理  272
B.3  Cg运行库是如何工作的?  272
B.3.1  头文件(Header File)  273
B.3.2  创建一个环境(Context)  274
B.3.3  编译一个程序  274
B.3.4  载入一个程序  275
B.3.5  修改程序的参数  275
B.3.6  执行程序  276
B.3.7  释放资源  276
B.3.8  处理错误  277
B.4  更多的细节  278
附录C  CgFX文件格式
C.1  什么是CgFX?  279
C.2  格式纵览  280
C.2.1  技巧(Technique)  280
C.2.2  过程(Pass)  281
C.2.3  渲染状态  281
C.2.4  变量和语义  282
C.2.5  注解(Annotation)  282
C.2.6  一个CgFX文件的示例  283
C.3  支持CgFX格式的Cg插件  285
C.4  学习更多有关CgFX的知识  285
附录D  Cg关键字
D.1  Cg关键字列表  287
附录E  Cg标准库函数
E.1  数学函数  289
E.2  几何函数  293
E.3  纹理贴图函数  294
E.4  导数函数  296
E.5  调试函数  296

本目录推荐