OpenGL着色语言

出版时间:2006-10  出版社:人民邮电  作者:罗斯特  页数:352  字数:537000  译者:天宏工作室  
Tag标签:无  

内容概要

  OpenGL着色语言是一种用于OpenGL的高级过程着色语言,它是近年来图形编程领域中出现的最重要的新型开发技术。OpenGL是业界领先的跨平台3D图形API,而OpenGL着色语言允许开发人员控制图形处理管理线中最重要的阶段。  本书全面覆盖从算法到API,书中更含丰富的API函数参考及顶级的案例分析。全书首先阐述了这种高级编程语言的语法和语义,在此基础上,详尽介绍了一系列着色器实例,同时对底层算法进行了解释,透析从固定功能图形硬件到可编程图形硬件的新时代转变,探究使用新的OpenGL函数调用来创建和操作着色器的方法,最后将该语言与其他著名的商业着色语言进行了比较。  本书要求读者需要具有一定的数学知识,适合有兴趣编写着色器的应用程序开发人员,可作为GLSL开发者的参考手册。不论专家或着色器编程初学者,都能在本书中发现所需的财富。

作者简介

Randi J.Rost是开发OpenGl着色语言的3Dlabs公司的多媒体图形小组的高级经理。Randi曾是开发OpenGl着色语言以及支持该语言的OpenGL API的核心成员,他还是使用这项技术设计和实现着色器的首批程序员之一。他参加OpenGL体系结构审核委员会(OpenGl Arhcitecture Review Board)

书籍目录

第1章 OpenGL基础知识概述   1.1 OpenGL的历史   1.2 发展OpenGL   1.3 执行模型   1.4 帧缓冲区   1.5 状态   1.6 处理管线   1.7 绘制几何对象     1.7.1 指定几何对象     1.7.2 逐个顶点操作     1.7.3 图元组装     1.7.4 图元处理     1.7.5 栅格化     1.7.6 片元处理     1.7.7 逐个片元的操作     1.7.8 帧缓冲区操作   1.8 绘制图像     1.8.1 像素解码     1.8.2 像素传输     1.8.3 栅格化和后端处理     1.8.4 读取控制   1.9 坐标变换  1.10 纹理   1.11 小结   1.12 参考资料 第2章 基础知识   2.1 OpenGL着色语言简介   2.2 为什么要编写着色器   2.3 OpenGL可编程处理器     2.3.1 顶点处理器     2.3.2 片元处理器   2.4 语言概述     2.4.1 语言的设计考虑     2.4.2 以C为基础     2.4.3 对C的增加     2.4.4 来自C++的增加     2.4.5 不受支持的C特性     2.4.6 其他差异   2.5 系统概述     2.5.1 驱动程序模型     2.5.2 OpenGL着色语言编译器/链接器     2.5.3 OpenGL API扩展   2.6 主要优点   2.7 小结   2.8 参考资料 第3章 语言定义   3.1 着色器对的实例   3.2 数据类型     3.2.1 标量     3.2.2 矢量     3.2.3 矩阵     3.2.4 取样器     3.2.5 结构     3.2.6 数组     3.2.7 Void     3.2.8 声明和作用域     3.2.9 类型匹配与提升   3.3 初始化器和构造函数   3.4 类型转换   3.5 限定符和着色器接口     3.5.1 Attribute限定符     3.5.2 Uniform限定符     3.5.3 Varying限定符     3.5.4 常量限定符     3.5.5 缺少限定符  3.6 流控制     3.6.1 函数     3.6.2 调用约定     3.6.3 内置函数   3.7 操作     3.7.1 索引     3.7.2 混合     3.7.3 按部分操作   3.8 预处理器   3.9 预处理器表达式   3.10 错误处理   3.11 小结   3.12 参考资料 第4章 OpenGL可编程管线   4.1 顶点处理器     4.1.1 顶点属性     4.1.2 一致变量     4.1.3 特殊的输出变量     4.1.4 内置的易变变量     4.1.5 用户定义的易变变量   4.2 片元处理器     4.2.1 易变变量     4.2.2 一致变量     4.2.3 特殊的输入变量     4.2.4 特殊的输出变量   4.3 内置一致变量   4.4 内置常量   4.5 与OpenGL的固定功能交互     4.5.1 两侧颜色模式     4.5.2 点大小模式     4.5.3 裁剪     4.5.4 光栅位置     4.5.5 位置不变性     4.5.6 纹理处理   4.6 小结   4.7 参考资料 第5章 内置函数   5.1 角度和三角函数   5.2 指数函数   5.3 常见函数   5.4 几何函数   5.5 矩阵函数   5.6 矢量关系函数   5.7 纹理访问函数   5.8 片元处理函数   5.9 噪声函数   5.10 小结   5.11 参考资料 第6章 简单的着色实例   6.1 砖块着色器简介  6.2 顶点着色器   6.3 片元着色器   6.4 观察   6.5 小结   6.6 参考资料第7章 OpenGL着色语言API  7.1 创建着色器对象   7.2 编译着色器对象   7.3 链接和使用着色器   7.4 清理工作   7.5 查询函数   7.6 指定顶点属性   7.7 指定一致变量   7.8 采样器   7.9 开发辅助工具   7.10 与实现有关的API值   7.11 砖块着色器的应用程序代码   7.12 小结   7.13 参考资料 第8章 开发着色器   8.1 一般原则     8.1.1 理解问题     8.1.2 逐步提高复杂性     8.1.3 测试和重复     8.1.4 尽量简化     8.1.5 模块化   8.2 性能考虑     8.2.1 考虑计算频率     8.2.2 分析算法     8.2.3 使用内置函数     8.2.4 使用矢量     8.2.5 使用纹理编写复杂函数     8.2.6 回顾信息日志   8.3 着色器调试     8.3.1 使用顶点着色器的输出     8.3.2 使用片元着色器的输出    8.3.3 使用简单的几何对象   8.4 着色器开发工具     8.4.1 RenderMonkey     8.4.2 OpenGL着色语言编译器前端   8.5 小结   8.6 参考资料第9章 传统着色器   9.1 变换   9.2 光源     9.2.1 定向光源     9.2.2 点光源     9.2.3 聚光灯   9.3 材质属性和光照   9.4 两侧光照   9.5 无光照   9.6 雾化   9.7 纹理坐标生成   9.8 用户裁剪   9.9 纹理应用   9.10 小结   9.11 参考资料 第10章 存储的纹理着色器   10.1 从着色器内部访问纹理贴图   10.2 简单的纹理处理实例    10.2.1 应用程序设置     10.2.2 顶点着色器     10.2.3 片元着色器   10.3 多重纹理处理实例     10.3.1 应用程序设置     10.3.2 顶点着色器     10.3.3 片元着色器   10.4 环境贴图实例     10.4.1 应用程序设置     10.4.2 顶点着色器     10.4.3 片元着色器   10.5 使用BRDF数据的多项式纹理贴图     10.5.1 应用程序设置     10.5.2 顶点着色器     10.5.3 片元着色器   10.6 小结  10.7 参考资料第11章 程序纹理着色器   11.1 常规图案     11.1.1 条纹顶点着色器     11.1.2 条纹片元着色器   11.2 玩具球     11.2.1 应用程序设置     11.2.2 顶点着色器     11.2.3 片元着色器   11.3 网格   11.4 凹凸贴图     11.4.1 应用程序设置     11.4.2 顶点着色器    11.4.3 片元着色器     11.4.4 法向量贴图   11.5 小结   11.6 参考资料第12章 噪声   12.1 定义噪声     12.1.1 2D噪声     12.1.2 更高维度的噪声     12.1.3 在OpenGL着色器中使用噪声   12.2 噪声纹理   12.3 权衡考虑   12.4 一个简单的噪声着色器     12.4.1 应用程序设置     12.4.2 顶点着色器     12.4.3 片元着色器   12.5 扰动     12.5.1 太阳表面着色器     12.5.2 大理石   12.6 花岗岩   12.7 木材     12.7.1 应用程序设置     12.7.2 片元着色器   12.8 小结   12.9 参考资料 第13章 动画着色器   13.1 开/关   13.2 阈值   13.3 转换   13.4 关键帧插值   13.5 其他混合效果   13.6 粒子系统     13.6.1 应用程序设置     13.6.2 纸炮顶点着色器     13.6.3 纸炮片元着色器     13.6.4 进一步增强   13.7 摇摆   13.8 小结   13.9 参考资料 第14章 反走样过程纹理   14.1 走样的原因   14.2 避免走样   14.3 提高分辨率   14.4 反走样的条纹实例     14.4.1 生成条纹     14.4.2 分析预过滤     14.4.3 自适应分析预过滤     14.4.4 分析积分     14.4.5 反走样的砖块片元着色器   14.5 频率限定   14.6 小结   14.7 参考资料 第15章 反真实着色器   15.1 剖面线实例     15.1.1 应用程序设置     15.1.2 顶点着色器     15.1.3 生成剖面线     15.1.4 获得一致的线条密度     15.1.5 光照     15.1.6 添加特征     15.1.7 剖面线片元着色器   15.2 技术示意图实例     15.2.1 应用程序设置     15.2.2 顶点着色器     15.2.3 片元着色器   15.3 Mandelbrot实例     15.3.1 Mandelbrot set简介     15.3.2 顶点着色器     15.3.3 片元着色器     15.3.4 Julia set   15.4 小结   15.5 参考资料 第16章 用于图像处理的着色器   16.1 几何图像变换  16.2 数学贴图   16.3 查找表操作   16.4 颜色空间变换   16.5 图像内插和外插    16.5.1 亮度     16.5.2 对比度    16.5.3 饱和度    16.5.4 锐度   16.6 混合模式    16.6.1 正常     16.6.2 平均     16.6.3 溶解     16.6.4 背面     16.6.5 清除     16.6.6 变暗     16.6.7 变亮     16.6.8 正片叠底     16.6.9 屏幕     16.6.10 颜色加深     16.6.11 颜色减淡     16.6.12 叠加     16.6.13 柔光     16.6.14 强光     16.6.15 相加     16.6.16 相减     16.6.17 差值     16.6.18 反差值     16.6.19 排除     16.6.20 不透明度   16.7 卷积     16.7.1 平滑    16.7.2 边缘检测     16.7.3 锐化   16.8 小结   16.9 参考资料 第17章 语言的比较   17.1 着色语言的历史   17.2 RenderMan   17.3 OpenGL Shader(ISL)   17.4 HLSL   17.5 Cg   17.6 小结   17.7 参考资料 附录A 语言的语法 附录B API函数参考   glAttachObjectARB   glBindAttribLocationARB   glCompileShaderARB   glCreateProgramObjectARB   glCreateShaderObjectARB   glDeleteObjectARB   glDetachObjectARB   glEnableVertexAttribArrayARB  glGetActiveAttribARB   glGetActiveUniformARB   glGetAttachedObjectsARB   glGetAttribLocationARB   glGetHandleARB   glGetinfoLogARB   glGetObjectParameterARB   glGetShaderSourceARB   glGetUniformARB   glGetUniformLocationARB   glGetVertexAttribARB   glGetVertexAttribPointervARB   glLinkProgramARB   glShaderSourceARB   glUniformARB   glUseProgramObjectARB   glValidateProgramARB   glVertexAttribARB   glVertexAttribPointerARB 后记 

图书封面

图书标签Tags

评论、评分、阅读与下载


    OpenGL着色语言 PDF格式下载


用户评论 (总计19条)

 
 

  •   学了opengl不学glsl?无论翻译的质量怎么样,还是需要一本.编程的时候放在手边翻翻,缺少不了.
  •   感觉和opengl编程指南的介绍方法差不多
  •   还没时间看,不过好像是这方面仅有的一本书,而且是官方权威,应该不错。
  •   顶点着色、像素着色……这些以前可望不可及的技术现在终于平民话到普通显卡上了,利用OpenGL着色语言,我们甚至可以在显卡上解线性方程组,此书是应用OpenGL的入门好书。
  •   对OpenGL语言介绍的很详细
  •   此为第一版那时glsl还不是标准,是ARB扩展,国外出到第二版了,关心什么时候有中文的第二版。
  •   牛人通常不会写书。写的书只能与牛人同级的人看得舒服,明白。还好例子程序,很经典,让人喜欢。
  •   书不错。质量还行吧
  •   纸张不错,翻译的还是很通顺的。值得拥有
  •   送货到的时候吓我一跳速度挺快的
  •   也没别的中文书看,算是打下基础吧
  •   翻译得很烂!!
  •   总体来说还是可以的!
  •   这是我读过的,最垃圾,最垃圾的翻译书。翻译的根本就不是人话。各种名词的翻译还“独创”,让初学者一头雾水。建议还是看英文原版的吧的吧。网上搜一下很多
  •     感觉是用工具翻译的这本书
      作者对OpenGL编程应该非常的不熟悉
      买这本书的话做参考查询就可以了, 具体还是要看英文原版
  •   注意了,楼主是唯一评论。TvT
  •   屎一样的翻译
    毫无职业操守
    打零分
  •   哈哈,到货了,真好
  •   的确,应该是完全按照英文单词翻译的直译,翻译的句子都不通顺。如果是有点经验的还好,如果是对初学者而言,啧啧,还是结合英文原版一起看吧~~
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7