v

您的位置:VeryCD图书计算机与网络

图书资源事务区


《OpenGL超级宝典(第4版)》(OpenGL(R) SuperBible: Comprehensive Tutorial and Reference (4th Edition))扫描版[PDF]

  • 状态: 精华资源
  • 摘要:
    图书分类软件
    出版社Posts&Telecom Press
    发行时间2010年9月
    语言简体中文
  • 时间: 2011/09/04 18:19:05 发布 | 2011/09/04 19:13:24 更新
  • 分类: 图书  计算机与网络 

reallh

精华资源: 41

全部资源: 41

相关: 分享到新浪微博   转播到腾讯微博   分享到开心网   分享到人人   分享到QQ空间   订阅本资源RSS更新   美味书签  subtitle
该内容尚未提供权利证明,无法提供下载。
中文名OpenGL超级宝典(第4版)
原名OpenGL(R) SuperBible: Comprehensive Tutorial and Reference (4th Edition)
别名OpenGL蓝宝书, OpenGL编程
译者张琪
付飞
图书分类软件
资源格式PDF
版本扫描版
出版社Posts&Telecom Press
书号978711523584X
发行时间2010年9月
地区大陆
语言简体中文
简介

IPB Image

内容介绍:

  本书是OpenGL及3d图形编程最好的入门指南,涵盖了使用最新版本的opengl进行编程所需要的主要知识。

  全书分3个部分,共22章,另有3个附录。第一部分包括第1章到第14章,介绍如何构建一个使用OpenGL的程序,如何设置3d渲染环境,以及如何创建基本对象和光线并对他们进行着色。然后,深入研究使用OpenGL和它的一些高级特性及不同的特殊效果。第二部分包括第15章到第18章,分别介绍了OpenGL中支持可编程硬件[特别是在OpenGL着色语言(glsl)中]的新特性。第三部分是第19章到第22章,着重介绍OpenGL是如何支持和连接Windows、MAC OS X、Linux和掌上设备。附录部分给出了更多阅读建议、术语表和api参考介绍。

  本书适合希望精通OpenGL以便对他们的图形编程和3d图形知识进行扩展的程序员阅读,也可以帮助那些经验丰富的OpenGL程序员学习如何移植自己的应用程序。本书既可以作为学习OpenGL的教材,也可以作为随时查阅的参考手册。

作者介绍:

  Richard S. Wright,Jr.,星彩石软件系统公司(Starstone Software Systems,Inc.)的创建者和总裁,使用OpenGL开发多媒体仿真软件。他开发过范围从游戏到科学应用程序、从数据库可视化工具到教育软件的OpenGL商业应用程序,他曾是OpenGL ARB的Real 3D代表。

  Benjamin Lipchak,管理着AMD的一个OpenGL ES驱动小组。他原来领导着Khronos生态技术小组,建立了OpenGL SDK并创建了OpenGL管线时事通信。

  Nicholas Haemel,AMD Graphics Products Group(图形产品开发小组)的一位开发者,也是本书第3版的技术审稿人; 参与了本书的GLX和OpenGLcES部分的写作.

内容截图:

IPB Image



目录

第一部分 “旧约”——经典属性
第1章 3D图形和OpenGL的介绍
1.1 计算机图形的简单历史回顾
1.1.1 进入电子时代
1.1.2 走向3D
1.2 3D效果初探
1.2.1 透视(视角)
1.2.2 颜色和着色
1.2.3 光照和阴影
1.2.4 纹理贴图
1.2.5 雾
1.2.6 混和和透明
1.2.7 抗锯齿
1.3 3D图形的常见用途
1.3.1 实时3D
1.3.2 非实时3D
1.3.3 着色器
1.4 3D编程的基本原则
1.4.1 立即模式和保持模式
1.4.2 坐标系统
1.4.3 投影:从3D到2D
1.5 总结

第2章 使用OpenGL
2.1 什么是OpenGL
2.1.1 标准的演化
2.1.2 API战争
2.1.3 OpenGL的未来
2.2 OpenGL的工作原理
2.2.1 通用实现
2.2.2 硬件实现
2.2.3 管线
2.3 OpenGL是API而不是编程语言
2.3.1 标准函数库和头文件
2.3.2 头文件自定义
2.4 API特定细节
2.4.1 数据类型
2.4.2 函数名约定
2.5 平台独立性
2.5.1 使用GLUT
2.5.2 第一个程序
2.5.3 用OpenGL绘制形状
2.6 使用OpenGL和GLUT生成动画
2.7 OpenGL状态机
2.8 OpenGL错误
2.9 确认版本
2.10 使用glHint获取线索
2.11 使用扩展
2.11.1 检查扩展
2.11.2 这是谁的扩展
2.12 总结

第3章 空间绘图:几何图元和缓冲区
3.1 在3D中绘制点
3.2 设置3D画布
3.3 3D空间中的点:顶点
3.4 绘制图形
3.4.1 画点
3.4.2 第一个例子
3.5 设置点的大小
3.6 在3D空间中画直线
3.6.1 线带和线环
3.6.2 用直线构成近似曲线
3.6.3 设置直线的宽度
3.6.4 直线点画
3.7 在3D空间中绘制三角形
3.7.1 三角形:第一种多边形
3.7.2 环绕
3.7.3 三角形带
3.7.4 三角形扇
3.8 创建实心物体
3.8.1 设置多边形的颜色
3.8.2 隐藏表面消除
3.8.3 剔除:隐藏表面,提高性能
3.8.4 多边形模式
3.9 其他图元
3.9.1 四条边的多边形:四边形
3.9.2 通用多边形
3.9.3 填充多边形,重新讨论点画
3.9.4 多边形的创建规则
3.9.5 细分和边界
3.10 其他缓冲区技巧
3.10.1 使用缓冲区目标
3.10.2 操纵深度缓冲区
3.10.3 用剪刀进行裁剪
3.10.4 使用模板缓冲区
3.10.5 创建模板图案
3.11 总结

第4章 几何变换:管线
4.1 本章是不是枯燥的数学课
4.2 理解变换
4.2.1 视觉坐标
4.2.2 视图变换
4.2.3 模型变换
4.2.4 模型视图对偶性
4.2.5 投影变换
4.2.6 视口变换
4.3 矩阵:3D图形的数学基础
4.3.1 什么是矩阵
4.3.2 变换管线
4.3.3 模型视图矩阵
4.3.4 单位矩阵
4.3.5 矩阵堆栈
4.3.6 一个原子例子
4.4 使用投影
4.4.1 正投影
4.4.2 透视投影
4.4.3 一个远处缩小的例子
4.5 高级矩阵操作
4.5.1 加载矩阵
4.5.2 自己执行变换
4.5.3 变换的迭加
4.6 使用照相机和角色在OpenGL中移动
4.6.1 角色帧
4.6.2 欧拉角:“卢克!请使用帧”
4.6.3 照相机管理
4.6.4 综合应用
4.7 总结

第5章 颜色、材料和光照:基础知识
5.1 什么是颜色
5.1.1 光的波动性
5.1.2 光的粒子性
5.1.3 人眼作为光子检测器
5.1.4 计算机作为光子检测器
5.2 PC颜色硬件
5.3 PC显示模式
5.3.1 屏幕分辨率
5.3.2 颜色深度
5.4 在OpenGL中使用颜色
5.4.1 颜色立方体
5.4.2 设置绘图颜色
5.4.3 着色
5.4.4 设置着色模型
5.5 现实世界的颜色
5.5.1 环境光
5.5.2 散射光
5.5.3 镜面光
5.5.4 综合考虑
5.6 现实世界的材料
5.6.1 材料属性
5.6.2 向材料添加光照
5.6.3 计算环境光效果
5.6.4 散射和镜面光效果
5.7 向场景添加光照
5.7.1 启用光照
5.7.2 设置宇宙背景发射光
5.7.3 设置材料属性
5.8 使用光源
5.8.1 哪种方式最合适
5.8.2 表面法线
5.8.3 指定法线
5.8.4 单位法线
5.8.5 寻找法线
5.8.6 设置光源
5.8.7 设置材料属性
5.8.8 指定多边形
5.9 光照效果
5.9.1 镜面亮点
5.9.2 镜面光
5.9.3 镜面反射
5.9.4 镜面指数
5.9.5 法线均衡
5.10 综合讨论
5.10.1 创建聚光灯
5.10.2 绘制聚光灯
5.11 阴影
5.11.1 什么是阴影
5.11.2 实现压平的代码
5.11.3 一个阴影例子
5.11.4 重新回顾球体世界
5.12 总结

第6章 颜色和材料的更多细节
6.1 混合
6.1.1 组合颜色
6.1.2 修改混合方程式
6.1.3 抗锯齿
6.1.4 多重采样
6.2 应用雾
6.2.1 雾方程式
6.2.2 雾坐标
6.3 累积缓冲区
6.4 其他颜色操作
6.4.1 颜色掩码
6.4.2 颜色逻辑操作
6.4.3 alpha测试
6.4.4 抖动
6.5 总结

第7章 OpenGL中的图像
7.1 位图
7.1.1 一个位图例子
7.1.2 设置光栅位置
7.2 像素包装
7.3 像素图
7.3.1 经过包装的像素格式
7.3.2 一个颜色更丰富的例子
7.3.3 移动像素
7.3.4 保存像素
7.4 像素的更多乐趣
7.4.1 像素缩放
7.4.2 像素转移
7.4.3 像素映射
7.5 图像“子集”和管线
7.5.1 颜色矩阵
7.5.2 颜色查找
7.5.3 代理
7.5.4 其他操作
7.5.5 卷积
7.5.6 最小最大值操作
7.6 总结

第8章 纹理贴图:基础知识
8.1 加载纹理
8.1.1 使用颜色缓冲区
8.1.2 更新纹理
8.1.3 将纹理贴图到几何图形
8.1.4 纹理矩阵
8.2 一个简单的2D例子
8.3 纹理环境
8.4 纹理参数
8.4.1 基本过滤
8.4.2 纹理环绕
8.4.3 带纹理的卡通
8.4.4 Mip贴图
8.5 纹理对象
8.6 总结

第9章 纹理贴图:高级知识
9.1 辅助颜色
9.2 各向异性过滤
9.3 纹理压缩
9.3.1 压缩纹理
9.3.2 加载压缩纹理
9.4 纹理坐标生成
9.4.1 物体线性贴图
9.4.2 视觉线性贴图
9.4.3 球体贴图
9.4.4 立方体贴图
9.5 多重纹理
9.5.1 多重纹理坐标
9.5.2 一个多重纹理例子
9.6 纹理组合器
9.7 点块纹理
9.7.1 使用点
9.7.2 纹理应用
9.7.3 点参数
9.8 总结

第10章 曲线和表面
10.1 内部支持的表面
10.1.1 设置二次方程状态
10.1.2 绘制二次方程图形
10.1.3 用二次方程进行建模
10.2 Bézier曲线和表面
10.2.1 参数方程表示形式
10.2.2 求值器(evaluator)
10.3 NURBS
10.3.1 从Bézier到B样条
10.3.2 结点
10.3.3 创建NURBS表面
10.3.4 NURBS属性
10.3.5 定义表面
10.3.6 修剪
10.3.7 NURBS表面
10.4 分格化(tessellation)
10.4.1 分格器(tessellator)
10.4.2 分格器回调函数
10.4.3 指定顶点数据
10.4.4 综合应用
10.5 总结

第11章 这就是管线:更快的几何图形渲染
11.1 显示列表
11.1.1 批处理
11.1.2 预批处理
11.1.3 使用显示列表的一些注意事项
11.1.4 转换到显示列表
11.2 顶点数组
11.2.1 加载几何图形
11.2.2 启用数组
11.2.3 数据在哪里
11.2.4 用数据绘图
11.2.5 索引顶点数组
11.3 顶点缓冲区对象
11.3.1 管理和使用缓冲区对象
11.3.2 回到Thunderbird
11.4 总结

第12章 交互式图形
12.1 选择
12.1.1 为图元命名
12.1.2 在选择模式下工作
12.1.3 选择缓冲区
12.1.4 挑选
12.1.5 层次式挑选
12.2 反馈
12.2.1 反馈缓冲区
12.2.2 反馈数据
12.2.3 用户定义标记
12.3 一个反馈例子
12.3.1 对物体加上标签以便反馈
12.3.2 步骤1:选择物体
12.3.3 步骤2:从物体获取反馈信息
12.4 总结

第13章 遮挡查询:消除不必要的工作
13.1 遮挡查询之前的世界
13.2 边框
13.3 对查询对象进行查询
13.4 最佳实践
13.5 总结

第14章 深度纹理和阴影
14.1 作为光源
14.1.1 使场景正好占据整个窗口
14.1.2 去掉不必要的东西
14.2 一种新类型的纹理
14.3 首先绘制阴影
14.4 然后是光照
14.4.1 投影阴影贴图:“为什么”
14.4.2 投影阴影贴图:“怎么做”
14.4.3 阴影比较
14.5 只用两个就够了
14.6 关于多边形偏移
14.7 总结

第二部分 “新约”——新的发展

第15章 可编程管线:这已不是旧式的OpenGL
15.1 旧的被淘汰
15.1.1 固定的顶点处理
15.1.2 固定的片断处理
15.2 新的占主导
15.2.1 可编程顶点着色器
15.2.2 固定功能胶水
15.2.3 可编程片断着色器
15.3 初窥OpenGL着色语言
15.4 管理高层着色器
15.4.1 着色器对象
15.4.2 程序对象
15.5 变量
15.5.1 基本类型
15.5.2 结构
15.5.3 数组
15.5.4 限定符
15.5.5 内置的变量
15.6 表达式
15.6.1 操作符
15.6.2 数组访问
15.6.3 构造函数
15.6.4 成分选择
15.7 控制流
15.7.1 循环
15.7.2 if/else
15.7.3 discard
15.7.4 函数
15.8 总结

第16章 顶点着色:自行转换、光照和Texgen
16.1 初次试验
16.2 散射光照
16.3 镜面光照
16.4 改善镜面光照
16.5 基于顶点的雾
16.6 基于顶点的点大小
16.7 自定义的顶点变换
16.8 顶点混合
16.9 总结

第17章 片断着色器:增强像素处理的威力
17.1 颜色转换
17.1.1 灰度
17.1.2 调棕色
17.1.3 反色
17.1.4 热信号
17.1.5 基于片断的雾
17.2 图像处理
17.2.1 模糊
17.2.2 锐化
17.2.3 膨胀和侵蚀
17.2.4 边缘检测
17.3 光照
17.3.1 散射光照
17.3.2 多重镜面光照
17.4 过程纹理贴图
17.4.1 棋盘纹理
17.4.2 沙滩球纹理
17.4.3 玩具球纹理
17.5 总结

第18章 高级缓冲区
18.1 像素缓冲区对象
18.1.1 如何使用PBO
18.1.2 PBO的优点
18.1.3 实际使用PBO
18.1.4 可以使用PBO的命令
18.2 帧缓冲区对象
18.2.1 如何使用FBO
18.2.2 离屏渲染
18.2.3 渲染到纹理
18.2.4 多个渲染目标
18.3 浮点纹理
18.3.1 高动态范围
18.3.2 OpenEXR文件格式
18.3.3 调和映射(tone mapping)
18.4 更白、更亮
18.4.1 绘制场景
18.4.2 亮度渲染
18.4.3 借助于高斯模糊
18.4.4 把各部分相加
18.4.5 再次使用PBO
18.5 总结

第三部分 “新约外传”——扩展应用
第19章 Wiggle:Windows上的OpenGL
19.1 Windows上的OpenGL实现
19.1.1 泛型OpenGL
19.1.2 可安装客户驱动程序
19.1.3 Mini客户驱动程序
19.1.4 Mini驱动程序
19.1.5 Vista上的OpenGL
19.1.6 扩展OpenGL
19.2 基本的窗口渲染
19.2.1 GDI设备环境
19.2.2 像素格式
19.2.3 OpenGL渲染环境
19.3 综合应用
19.3.1 创建窗口
19.3.2 使用OpenGL渲染环境
19.3.3 其他Windows消息
19.4 OpenGL和Windows字体
19.4.1 3D字体和文本
19.4.2 2D字体和文本
19.5 全屏渲染
19.5.1 创建一个无边框窗口
19.5.2 创建一个全屏窗口
19.6 多线程渲染
19.7 OpenGL和WGL扩展
19.7.1 简单扩展
19.7.2 使用新入口
19.7.3 自动魔法扩展
19.7.4 WGL扩展
19.8 总结

第20章 Mac OS X上的OpenGL
20.1 GLUT
20.1.1 创建一个GLUT项目
20.1.2 应用程序框架
20.1.3 Ditching Cocoa
20.2 使用Carbon的OpenGL
20.2.1 为OpenGL进行设置
20.2.2 设置像素格式
20.2.3 位图字体
20.3 使用Cocoa的OpenGL
20.3.1 创建一个Cocoa程序
20.3.2 综合运用
20.4 全屏渲染
20.4.1 显示管理
20.4.2 AGL全屏支持
20.5 总结

第21章 Linux上的OpenGL
21.1 基础知识
21.2 安装
21.2.1 安装Mesa
21.2.2 安装硬件驱动程序
21.2.3 其他安装细节
21.2.4 安装GLUT
21.2.5 生成OpenGL应用程序
21.3 GLUT
21.4 GLX——处理X Window接口
21.4.1 显示和X
21.4.2 配置管理和画面
21.4.3 窗口和渲染表面
21.4.4 环境管理
21.4.5 同步
21.4.6 GLX字符串
21.4.7 其他关于GLX的内容
21.5 综合运用
21.6 总结

第22章 OpenGL ES:嵌入式OpenGL
22.1 精简的OpenGL
22.1.1 ES指什么
22.1.2 历史概述
22.2 版本选择
22.2.1 ES 1.0
22.2.2 ES 1.1
22.2.3 ES 2.0
22.2.4 ES SC
22.3 ES环境
22.3.1 应用程序设计的注意事项
22.3.2 有限环境的处理
22.3.3 定点数学
22.4 EGL:新的窗口环境
22.4.1 EGL显示
22.4.2 创建一个窗口
22.4.3 环境管理
22.4.4 呈现缓冲区和渲染同步
22.4.5 更多EGL相关内容
22.5 处理嵌入式环境
22.5.1 流行操作系统
22.5.2 嵌入式硬件
22.5.3 供应商特定扩展
22.5.4 个人玩家
22.6 实施OpenGL ES
22.6.1 设置环境
22.6.2 设置OpenGL ES状态
22.6.3 渲染
22.6.4 清除工作
22.7 总结

附录A 更多阅读建议
附录B 词汇表
附录C API参考

正在读取……

这里是其它用户补充的资源(我也要补充):

暂无补充资源
正在加载,请稍等...

点击查看所有67网友评论

 

(?) [公告]留口水、评论相关规则 | [活动]每日签到 轻松领取电驴经验

    小贴士:
  1. 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  2. 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  3. 勿催片。请相信驴友们对分享是富有激情的,如果确有更新版本,您一定能搜索到。
  4. 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
  5. 如果您发现自己的评论不见了,请参考以上4条。