出版社:清华大学出版社
年代:2013
定价:59.0
可编程的图形着色器,即,将用户程序加载到图形处理器(GPU)以取代早期的固定功能流水线的工作方式,已经愈发成为现代计算机图形学的一个关键特性。本书详细解释了GLSL图形着色器编程的理论和方法,以及与之相关的OpenGL API函数,并介绍了一个灵活易用的工具glman,以帮助用户开发、测试和调试着色器程序。本书适合计算机图形学专业学生和自学者作为教材或者参考读物使用。
第1章固定功能管线
传统的视见方案
顶点操作
管线的片元处理
图形管线中的状态
传统视见机制的实现方案
顶点处理操作 5渲染处理操作
固定管线中的齐次坐标
顶点数组
本章小结
本章练习
第2章 opengl着色器的发展
着色器发展史
opengl着色器发展史
opengl 2.0/glsl 1.10
opengl 3.x/glsl 3.30
opengl 4.0/glsl 4.00
opengl 4.x/glsl 4.x0
内部原因
opengl es
处理不同版本
本书方案
变量名命名规则
本章练习
第3章着色器基本概念
图形管线中的着色器
顶点着色器
片元着色器
细分着色器
几何着色器
glsl着色器语言
应用程序与着色器之间的数据传递
在应用程序中定义 attribute变量
在应用程序中定义 uniform变量
glsl新版本之间的转换方式
本章练习
第4章 glman的使用
使用 glman
加载 glib文件
编辑 glib文件和着色器文件
生成 glib场景
窗口和视见操作
转换操作
定义几何对象
定义纹理
定义着色器名
其他命令
定义 uniform变量
glib文件示例
纹理和噪声
使用纹理
使用噪声纹理
glman界面窗口功能
生成并显示场景的硬拷贝
全局场景转换
眼睛转换
对象拾取和转换
纹理转换
显示帧速率
其他功能项
本章练习
第5章 glsl着色器语言
着色器语言的成因
图形卡功能项
通用 glsl语言
共享命名空间
函数扩展和操作符功能项
新增函数
新增变量类型
新增函数参数类型
具体实现
忽略的语言功能项
新增矩阵和向量类型
名称集
向量构造函数
矩阵和向量扩展函数
矩阵和向量的扩展操作
新增函数
混合操作
新增函数参数类型
const变量
兼容模式
定义兼容模式
opengl 2.1内建数据类型
综述
本章练习
第6章光照
ads光照模型
ads光照模型函数
光源类型
固定光源
有向光源
聚光灯
构建基于着色器的光照机制
固定着色
平滑着色
phong着色方案
各向异性着色
本章练习
第7章顶点着色器
图形管线中的顶点着色器
顶点着色器的输入数据
源自顶点着色器的输出数据
几何体
顶点着色器之后的固定功能处理
顶点着色器和细分着色器之间的关系
顶点着色器和几何着色器之间的关系
利用顶点着色器替换固定功能图形操作
标准的顶点处理过程
基于顶点着色器的固定功能管线扩展
顶点修正
顶点着色器中的问题
生成法线
综述
本章练习
第8章片元着色器和表面外观
片元着色器的基本功能
片元着色器的输入数据
片元着色器的 in变量
坐标系
片元着色器处理机制
源自片元着色器的输出数据
利用片元处理器替换固定功能处理
着色机制
传统的纹理贴图
伪色
片元着色器后续步骤
其他着色器效果
像素丢弃
phong着色
基于解析法线的着色机制
各向异性着色
基于数据驱动的色彩方案
使用其他数据生成图像
本章练习
第9章片元着色器中的表面纹理
纹理坐标
传统的纹理贴图
glsl纹理贴图
纹理上下文
固定功能管线中的纹理环境
纹理采样参数
采样器
过程纹理
凹凸贴图
立方体贴图
渲染至纹理
渲染至纹理( glman多路渲染)
本章练习
第10章噪声
噪声的基本概念
3种噪声类型:数值、梯度以及数值 梯度
三次插值和五次插值
噪声方程
其他噪声
分形布朗运动( fbm,1/f,倍频程)
二维噪声和三维噪声
基于 glman的噪声
基于内建 glsl函数使用噪声纹理
湍流
不同环境中的噪声示例
大理石着色器
云彩着色器
木材着色器
与噪声相关的高级话题
noisegraph应用程序
本章练习
第11章基于着色器的图像处理
基本概念
单幅图像处理
亮度
cmyk转换
色调转换
图像过滤机制
图像模糊操作
色度键图像
立体视图
3d电视
边检测技术
浮雕效果
卡通着色器
艺术视觉效果
图像的翻转、旋转和扭曲
图像混合处理
基于固定基图像的图像混合操作
反像
亮度
对比度
图像的自身混合操作
饱和度
锐利度
不同图像间的混合操作
其他合成方案
图像渐变
内容提示
本章练习
第12章几何着色器的概念和示例
几何着色器的功能
新型邻接图元
基于输入和输出变量的布局结构
新增 opengl api函数
新增 glsl变量以及变量类型
顶点着色器或细分着色器与几何着色器之间的通信
几何着色器中的法线
应用示例
bezier曲线
收缩三角形
球体细分
3d对象轮廓边
本章练习
第13章细分着色器
细分着色器定义
细分着色器与几何着色器
细分着色器概念
设置细分级别时的问题
应用示例
等值线
bezier曲面
球体细分
基于屏幕覆盖率的整球细分
pn三角形
综述
本章练习
第14章 glsl api
opengl程序处理中的着色器
处理 opengl扩展
glsl着色器程序的创建方式
创建并编译着色器对象
checkglerrors()函数
创建、绑定、链接并激活着色器程序
生成着色器程序并绑定着色器对象
着色器程序的链接操作
激活着色器程序
向着色器传递数据
在应用程序中定义 uniform变量
兼容模式下的 uniform变量
在应用程序中定义 attribute变量
兼容模式下的 attribute变量
着色器程序的 c 控制类
本章练习
第15章基于着色器的科学可视化计算
基于图像的可视化技术
负像
图像边检测
卡通渲染
双曲线几何学
3d标量数据可视化计算
点云
剖切面
体探测
直接体渲染
其他转换函数
通过几何对象传递数据值
地形凹凸贴图
流显示
2d线积分卷积
3d线积分卷积
获取流线对象
几何可视化
轮廓边技术
刺状区
本章练习
第16章着色器应用
光线干涉现象
衍射光栅
油膜
透镜效果
浴室玻璃
大气效果
彩虹
辉光效果
其他视效函数
glman timer函数
迪斯科球
雾效果
3d几何体变形
算法艺术
connett圆
运动状态下的可见信息
爆炸效果着色器
本章练习
参考文献
附录 a基于 glsl程序的 c 类
附录 b matrix4 c 类
附录 c vec c 类
附录 d顶点数组类
《图形着色器——理论与实践(第2版)》详细阐述了与着色器程序设计相关的高效解决方案及相应的数据结构和算法,主要包括固定功能管线、opengl着色器的发展、着色器基本概念、使用glman、glsl着色器语言、光照、顶点着色器、片元着色器和表面外观、片元着色器中的表面纹理、噪声、基于着色器的图像处理、几何着色器的概念和示例、细分着色器、glsl api、基于着色器的科学可视化计算以及着色器应用等内容。此外,本书还提供了相应的算法、代码以及伪代码,以帮助读者进一步理解相关方案的实现过程。 《图形着色器——理论与实践(第2版)》适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。