书籍详情
OPENGL编程指南(第4版)
作者:OpenGL体系结构审核委员会[等]著;邓郑祥译;邓郑祥译
出版社:人民邮电出版社
出版时间:2005-04-01
ISBN:9787115132178
定价:¥69.00
购买这本书可以去
内容简介
OpenGL图形系统是一个软件接口,让程序员能够创建交互式程序,使用计算机图形学技术生成具有真实感的图像。本书是OpenGLARB推荐的OpenGL1.4版学习指南。本书首先阐述OpenGL的功能和计算机图形学基本知识,包括状态管理和几何体的绘制、模型变换、视点变换和投影变换、颜色和光照;然后深入探讨一些高级技术,包括反走样、雾阄、显示列表、图像处理、纹理映射、帧缓存、网格化、NURBS、选择和反馈等;同时讨论其他一些重要主题,像如何提高程序的性能、OpenGL扩展和跨平台技术等。本书只要求读者有一定的C语言基础和数学知识,适合所有对OpenGL编程感兴趣的读者阅读。OpenGL是一个功能强大的软件接口,用于绘制高质量的计算机图像,以及编写使用2D和3D几何物体及位图和图像的交互式应用程序。本书介绍OpenGL和OpenGL实用库,内容全面、权威,被称为“OpenGL红宝书”。本书第三版针对的是OpenGL1.2版,而本版介绍了OpenGL1.3和1.4版新增的所有特性以及重要的OpenGLARB(OpenGL体系结构审核委员会)扩展。本书以清晰的语言阐述了OpenGL的功能以及众多计算机图形学基本技术,如构建和渲染3D模型,从不同的角度观察物体,使用着色。光照和纹理映射来提高图像的真实感;深入探讨了一些高级技术,其中包括纹理映射、反走样、雾效和大气效果、NURBS、图像处理等;讨论了其他一些重要主题,如提高性能。OpenGL扩展和跨平台技术等。
作者简介
暂缺《OPENGL编程指南(第4版)》作者简介
目录
第1章 OpenGL简介
1.1 OpenGL概览
1.2 本个简单的OpenGL程序
1.3 OpenGL函数的语法
1.4 OpenGL是一个状态机
1.5 OpenGL渲染流水线
1.5.1 显示列表
1.5.2 求值程序
1.5.3 顶点操作
1.5.4 图元装配
1.5.5 像素操作
1.5.6 纹理装配
1.5.7 光栅化
1.5.8 片元操作
1.6 与OpenGL相关的函数库
1.6.1 包含文件
1.6.2 OpenGL实用工具包(GLUT)
1.7 动画
1.7.1 暂停刷新
1.7.2 运动就是重量国加交换
第2章 状态管理和绘制几何体
2.1 绘图补救工具箱
2.1.1 清空窗口
2.1.2 指定颜色
2.1.3 强制完成绘图操作
2.1.4 坐标系统修补工具箱
2.2 描述点、直线和多边形
2.2.1 什么是点、直线和多边形
2.2.2 指定顶点
2.2.3 OpenGL几何绘图图元
2.3 基本状态管理
2.4 显示点、直线和多边形
2.4.1 点的细节
2.4.2 直线的细节
2.4.3 多边形的细节
2.5 法线向量
2.6 顶点数组
2.6.1 第1步:启用数组
2.6.2 第2步:指定数组中的数据
2.6.3 第3步:解除引用和渲染
2.6.4 混合数组
2.7 属性组
2.8 有关使用多边形构造曲面的建议
第3章 观察
3.1 概述:相机类比
3.1.1 一个简单的例子:绘制立方体
3.1.2 通用的变换函数
3.2 视点变换和模型变换
3.2.1 如何看待变换
3.2.2 模型变换
3.2.3 视点变换
3.3 投影变换
3.3.1 透视投影
3.3.2 正视投影
3.3.3 根据视景体进行裁剪
3.4 视口变换
3.4.1 定义视口
3.4.2 变换后的深度坐标
3.5 变换的诊断
3.6 操纵矩阵堆栈
3.6.1 模型视点矩阵阵堆栈
3.6.2 投影矩阵堆栈
3.7 附加裁剪面
3.8 组合变换举例
3.8.1 建立太阳系模型
3.8.2 建立带关节的机器人手臂模型
3.9 逆变换和模拟变换
第4章 颜色
4.1 颜色感知
4.2 计算机颜色
4.3 RGBA模式与颜色索引模式
4.3.1 RGBA显示模式
4.3.2 颜色索引显示模式
4.3.3 在RGBA模式和颜色索引模式之间做出选择
4.3.4 在显示模式之间切换
4.4 指定颜色和着色模式
4.4.1 在RGBA模式下指定颜色
4.4.2 在颜色索引模式下指定颜色
4.4.3 指定着色模式
第5章 光照
5.1 隐藏面消除修补工具箱
5.2 现实世界和OpenGL中的光照
5.2.1 环境光、散射光、镜面反射光和发射光
5.2.2 材质的颜色
5.2.3 光线和材质的RGB值
5.3 一个简单的例子:光照球体的渲染
5.4 创建光源
5.4.1 颜色
5.4.2 位置和衰减
5.4.3 聚光灯
5.4.4 多光源
5.4.5 控制光源的位置和方向
5.5 选择光照模型
5.5.1 全局环境光
5.5.2 近视点还是无穷远视点
5.5.3 双面光照
5.5.4 辅助镜面反射颜色
5.5.5 启用光照
5.6 指定材质属性
5.6.1 散射光反射和环境光反射
5.6.2 镜面光反射
5.6.3 发射光颜色
5.6.4 改变材质属性
5.6.5 颜色材质模式
5.7 光照的数学计算
5.7.1 材质的发射光
5.7.2 反射的全局环境光
5.7.3 光源的贡献
5.7.4 叠加
5.7.5 辅助镜面发射光颜色
5.8 颜色索引模式下的光照
第6章 混合、反走样、雾效和多边形偏移
6.1 混合
6.1.1 源因子和目标因子
6.1.2 启用混合操作
6.1.3 使用混合方程来合并像素
6.1.4 混合的用途
6.1.5 一个混合的例子
6.1.6 使用深度缓存的三维混合
6.2 反走样
6.2.1 点和值线的反走样
6.2.2 使用多重采样对几何图元进行反走样处理
6.2.3 多边形的反走样
6.3 雾
6.3.1 使用雾
6.3.2 雾方程
6.4 点参数
6.5 多边形偏移
第7章 显示列表
7.1 为何使用显示列表
7.2 一个使用显示列表的例子
7.3 显示列表设计准则
7.4 创建和执行显示列表
7.4.1 命名和创建显示列表
7.4.2 显示列表存储的内容
7.4.3 执行显示列表
7.4.4 多级显示列表
7.4.5 管理显示索引
7.5 执行多个显示列表
7.6 使用显示列表来管理状态变量
第8章 绘制像素、位图、字体和图像
8.1 位图和字体
8.1.1 当前光栅位置
8.1.2 绘制位图
8.1.3 选择位图的颜色
8.1.4 字体
8.1.5 定义并使用一种完整的字体
8.2 图像
8.3 图像处理流水线
8.3.1 像素的封装和拆封
8.3.2 控制像素存储模式
8.3.3 像素转移操作
8.3.4 像素映射
8.3.5 缩放和翻转图像
8.4 读取和绘制矩形像素阵列
8.5 提高像素绘制速度的技巧
8.6 图像处理子集
8.6.1 颜色表
8.6.2 卷积
8.6.3 颜色矩阵
8.6.4 收集统计数据(histogram)
8.6.5 Minmax
第9章 纹理映射
9.1 概述和范例
9.1.1 纹理映射的步骤
9.1.2 一个简单的程序
9.2 指定纹理
9.2.1 纹理代理
9.2.2 替换纹理图像的部分或全部纹素
9.2.3 一维纹理
9.2.4 三维纹理
9.2.5 压缩的纹理图像
9.2.6 使用纹理边框
9.2.7 mipmap:多个明细等级
9.3 滤波
9.4 纹理对象
9.4.1 生成纹理对象名称
9.4.2 创建和使用纹理对象
9.4.3 删除纹理对象
9.4.4 驻留纹理工作集
9.4.5 纹理函数
9.5 指定纹理坐标
9.5.1 计算合适的纹理坐标
9.5.2 纹理的重复和截取
9.6 自动生成纹理坐标
9.6.1 创建等高线
9.6.2 球面图(sphere map)
9.6.3 立方图纹理(cube map texture)
9.7 多重纹理
9.8 纹理组合函数
9.9 执行纹理映射后应用辅助颜色
9.9.1 光照被禁用时的辅助颜色
9.9.2 光照被启用时的辅助镜面反射颜色
9.10 纹理矩阵堆栈
9.11 深度纹理
9.11.1 创建阴影图
9.11.2 生成纹理坐标并渲染场景
第10章 帧缓存
10.1 缓存及其用途
10.1.1 颜色缓存
10.1.2 深度缓存
10.1.3 模板缓存
10.1.4 累积缓存
10.1.5 清空缓存
10.1.6 指定要读写的颜色缓存
10.1.7 屏蔽缓存
10.2 片元的测试和操作
10.2.1 截剪测试
10.2.2 Alpha测试
10.2.3 模板测试
10.2.4 深度测试
10.2.5 混合、抖动和逻辑运算
10.3 累积缓存
10.3.1 场景反走样
10.3.2 运动模糊
10.3.3 景深
10.3.4 柔和阴影
10.3.5 抖动
第11章 网格化和二次曲面
11.1 多边形网格化
11.1.1 创建网格化对象
11.1.2 网格化回调函数
11.1.3 网格化属性
11.1.4 定义多边形
11.1.5 删除网格化对象
11.1.6 提高网格化性能的技巧
11.1.7 描述GLU错误
11.1.8 向后兼容性
11.2 二次曲面:渲染球体、圆柱体和圆盘
11.2.1 管理二次对象
11.2.2 设置二次对象的属性
11.2.3 二次图元
第12章 求值程序和NURBS
12.1 预备知识
12.2 求值程序
12.2.1 一维求值程序
12.2.2 十维求值程序
12.2.3 使用求值程序来生成纹理坐标
12.3 GLU NURBS接口
12.3.1 一个简单的NURBS范例
12.3.2 管理NURBS对象
12.3.3 创建NURBS曲线或曲面
12.3.4 修剪NURBS曲面
第13章 选择和反馈
13.1 选择
13.1.1 基本步骤
13.1.2 创建名称堆栈
13.1.3 命中记录
13.1.4 选择示例
13.1.5 拾取
13.1.6 有关编写使用选择机制的程序的建议
13.2 反馈
13.2.1 反馈数组
13.2.2 在反馈模式下使用标记
13.2.3反馈示例
第14章 OpenGL高级技巧
14.1 错误处理
14.2 查询OpenGL版本
14.2.1 实用库版本
14.2.2 窗口系统扩展版本
14.3 对标准的扩展
14.4 轻松制作透明物体
14.5 轻松实现淡出效果
14.6 使用后缓存来处理选择
14.7 开销不高的图像变换方法
14.8 显示多层
14.9 字符反走样
14.10 绘制圆形点
14.11 图像插值
14.12 制作贴花
14.13 使用模板缓存绘制填充凹多边形
14.14 找出冲突区域
14.15 阴影
14.16 隐藏线消除
14.16.1 使用多边形偏移隐藏线消除
14.16.2 使用模板缓存消除隐藏线
14.17 纹理映射的用途
14.18 绘制深度缓存图像
14.19 狄利克雷域
14.20 生存游戏
14.21 gIDrawPixels()和gICopyPixels()的其他用途
附录A 操作顺序
A.1 概述
A.2 几何操作
A.3 顶点操作
A.3.1 图元装配
A.3.2 像素操作
A.4 片元操作
A.5 其他操作
附录B 状态变量
B.1 查询函数
B.2 OpenGL变量
附录C OpenGL和窗口系统
C.1 访问新的 OpenGL函数
C.2 X窗口系统的 OpenGL扩展(GLX)
C.2.1 初始化
C.2.2 控制渲染
C.2.3 GLX训函数的原型
C.3 Apple Macintosh的 OpenGL扩展(AGL)
C.3.1 初始化
C.3.2 渲染和场境
C.3.3 管理 OpenGL渲染场境
C.3.4 在屏幕上渲染
C.3.5 离屏渲染
C.3.6 全屏渲染
C.3.7 交换缓存
C.3.8 更新渲染
C.3.9 使用Apple Macintosh字体
C.3.10 错误处理
C.3.11 AGL库函数的原型
C.4 IBM OS/2 Warp的Apple Macintosh扩展(PGL)
C.4.1 初始化
C.4.2 控制渲染
C.4.3 PGL函数的原型
C.5 Microsoft Windows的Apple Macintosh扩展(WGL)
C.5.1 初始化
C.5.2 控制渲染
C.5.3 WGL函数的原型
附录D OpenGL实用工具包(GLUT)基础
D.1 初始化和创建窗口
D.2 处理窗口事件和输入事件
D.3 加裁颜色表
D.4 初始化和绘制三维物体
D.5 管理后台处理
D.6 运行程序
附录E 计算法线向量
E.1 计算解析曲面的法线
E.2 根据多边形数据计算法线
附录F 齐次坐标和变换矩阵
F.1 齐次坐标
F.1.1 变换顶点
F.1.2 法线变换
F.2 变换矩阵
F.2.1 平移
F.2.2 缩放
F.2.3 旋转
F.2.4 透视投影
F.2.5 正交投影
附录G 编程建议
G.1 OpenGL正确编程技巧
G.2 提高OpenGL性能的建议
G.3 GLX建议
附录H OpenGL的不变性
术语表
1.1 OpenGL概览
1.2 本个简单的OpenGL程序
1.3 OpenGL函数的语法
1.4 OpenGL是一个状态机
1.5 OpenGL渲染流水线
1.5.1 显示列表
1.5.2 求值程序
1.5.3 顶点操作
1.5.4 图元装配
1.5.5 像素操作
1.5.6 纹理装配
1.5.7 光栅化
1.5.8 片元操作
1.6 与OpenGL相关的函数库
1.6.1 包含文件
1.6.2 OpenGL实用工具包(GLUT)
1.7 动画
1.7.1 暂停刷新
1.7.2 运动就是重量国加交换
第2章 状态管理和绘制几何体
2.1 绘图补救工具箱
2.1.1 清空窗口
2.1.2 指定颜色
2.1.3 强制完成绘图操作
2.1.4 坐标系统修补工具箱
2.2 描述点、直线和多边形
2.2.1 什么是点、直线和多边形
2.2.2 指定顶点
2.2.3 OpenGL几何绘图图元
2.3 基本状态管理
2.4 显示点、直线和多边形
2.4.1 点的细节
2.4.2 直线的细节
2.4.3 多边形的细节
2.5 法线向量
2.6 顶点数组
2.6.1 第1步:启用数组
2.6.2 第2步:指定数组中的数据
2.6.3 第3步:解除引用和渲染
2.6.4 混合数组
2.7 属性组
2.8 有关使用多边形构造曲面的建议
第3章 观察
3.1 概述:相机类比
3.1.1 一个简单的例子:绘制立方体
3.1.2 通用的变换函数
3.2 视点变换和模型变换
3.2.1 如何看待变换
3.2.2 模型变换
3.2.3 视点变换
3.3 投影变换
3.3.1 透视投影
3.3.2 正视投影
3.3.3 根据视景体进行裁剪
3.4 视口变换
3.4.1 定义视口
3.4.2 变换后的深度坐标
3.5 变换的诊断
3.6 操纵矩阵堆栈
3.6.1 模型视点矩阵阵堆栈
3.6.2 投影矩阵堆栈
3.7 附加裁剪面
3.8 组合变换举例
3.8.1 建立太阳系模型
3.8.2 建立带关节的机器人手臂模型
3.9 逆变换和模拟变换
第4章 颜色
4.1 颜色感知
4.2 计算机颜色
4.3 RGBA模式与颜色索引模式
4.3.1 RGBA显示模式
4.3.2 颜色索引显示模式
4.3.3 在RGBA模式和颜色索引模式之间做出选择
4.3.4 在显示模式之间切换
4.4 指定颜色和着色模式
4.4.1 在RGBA模式下指定颜色
4.4.2 在颜色索引模式下指定颜色
4.4.3 指定着色模式
第5章 光照
5.1 隐藏面消除修补工具箱
5.2 现实世界和OpenGL中的光照
5.2.1 环境光、散射光、镜面反射光和发射光
5.2.2 材质的颜色
5.2.3 光线和材质的RGB值
5.3 一个简单的例子:光照球体的渲染
5.4 创建光源
5.4.1 颜色
5.4.2 位置和衰减
5.4.3 聚光灯
5.4.4 多光源
5.4.5 控制光源的位置和方向
5.5 选择光照模型
5.5.1 全局环境光
5.5.2 近视点还是无穷远视点
5.5.3 双面光照
5.5.4 辅助镜面反射颜色
5.5.5 启用光照
5.6 指定材质属性
5.6.1 散射光反射和环境光反射
5.6.2 镜面光反射
5.6.3 发射光颜色
5.6.4 改变材质属性
5.6.5 颜色材质模式
5.7 光照的数学计算
5.7.1 材质的发射光
5.7.2 反射的全局环境光
5.7.3 光源的贡献
5.7.4 叠加
5.7.5 辅助镜面发射光颜色
5.8 颜色索引模式下的光照
第6章 混合、反走样、雾效和多边形偏移
6.1 混合
6.1.1 源因子和目标因子
6.1.2 启用混合操作
6.1.3 使用混合方程来合并像素
6.1.4 混合的用途
6.1.5 一个混合的例子
6.1.6 使用深度缓存的三维混合
6.2 反走样
6.2.1 点和值线的反走样
6.2.2 使用多重采样对几何图元进行反走样处理
6.2.3 多边形的反走样
6.3 雾
6.3.1 使用雾
6.3.2 雾方程
6.4 点参数
6.5 多边形偏移
第7章 显示列表
7.1 为何使用显示列表
7.2 一个使用显示列表的例子
7.3 显示列表设计准则
7.4 创建和执行显示列表
7.4.1 命名和创建显示列表
7.4.2 显示列表存储的内容
7.4.3 执行显示列表
7.4.4 多级显示列表
7.4.5 管理显示索引
7.5 执行多个显示列表
7.6 使用显示列表来管理状态变量
第8章 绘制像素、位图、字体和图像
8.1 位图和字体
8.1.1 当前光栅位置
8.1.2 绘制位图
8.1.3 选择位图的颜色
8.1.4 字体
8.1.5 定义并使用一种完整的字体
8.2 图像
8.3 图像处理流水线
8.3.1 像素的封装和拆封
8.3.2 控制像素存储模式
8.3.3 像素转移操作
8.3.4 像素映射
8.3.5 缩放和翻转图像
8.4 读取和绘制矩形像素阵列
8.5 提高像素绘制速度的技巧
8.6 图像处理子集
8.6.1 颜色表
8.6.2 卷积
8.6.3 颜色矩阵
8.6.4 收集统计数据(histogram)
8.6.5 Minmax
第9章 纹理映射
9.1 概述和范例
9.1.1 纹理映射的步骤
9.1.2 一个简单的程序
9.2 指定纹理
9.2.1 纹理代理
9.2.2 替换纹理图像的部分或全部纹素
9.2.3 一维纹理
9.2.4 三维纹理
9.2.5 压缩的纹理图像
9.2.6 使用纹理边框
9.2.7 mipmap:多个明细等级
9.3 滤波
9.4 纹理对象
9.4.1 生成纹理对象名称
9.4.2 创建和使用纹理对象
9.4.3 删除纹理对象
9.4.4 驻留纹理工作集
9.4.5 纹理函数
9.5 指定纹理坐标
9.5.1 计算合适的纹理坐标
9.5.2 纹理的重复和截取
9.6 自动生成纹理坐标
9.6.1 创建等高线
9.6.2 球面图(sphere map)
9.6.3 立方图纹理(cube map texture)
9.7 多重纹理
9.8 纹理组合函数
9.9 执行纹理映射后应用辅助颜色
9.9.1 光照被禁用时的辅助颜色
9.9.2 光照被启用时的辅助镜面反射颜色
9.10 纹理矩阵堆栈
9.11 深度纹理
9.11.1 创建阴影图
9.11.2 生成纹理坐标并渲染场景
第10章 帧缓存
10.1 缓存及其用途
10.1.1 颜色缓存
10.1.2 深度缓存
10.1.3 模板缓存
10.1.4 累积缓存
10.1.5 清空缓存
10.1.6 指定要读写的颜色缓存
10.1.7 屏蔽缓存
10.2 片元的测试和操作
10.2.1 截剪测试
10.2.2 Alpha测试
10.2.3 模板测试
10.2.4 深度测试
10.2.5 混合、抖动和逻辑运算
10.3 累积缓存
10.3.1 场景反走样
10.3.2 运动模糊
10.3.3 景深
10.3.4 柔和阴影
10.3.5 抖动
第11章 网格化和二次曲面
11.1 多边形网格化
11.1.1 创建网格化对象
11.1.2 网格化回调函数
11.1.3 网格化属性
11.1.4 定义多边形
11.1.5 删除网格化对象
11.1.6 提高网格化性能的技巧
11.1.7 描述GLU错误
11.1.8 向后兼容性
11.2 二次曲面:渲染球体、圆柱体和圆盘
11.2.1 管理二次对象
11.2.2 设置二次对象的属性
11.2.3 二次图元
第12章 求值程序和NURBS
12.1 预备知识
12.2 求值程序
12.2.1 一维求值程序
12.2.2 十维求值程序
12.2.3 使用求值程序来生成纹理坐标
12.3 GLU NURBS接口
12.3.1 一个简单的NURBS范例
12.3.2 管理NURBS对象
12.3.3 创建NURBS曲线或曲面
12.3.4 修剪NURBS曲面
第13章 选择和反馈
13.1 选择
13.1.1 基本步骤
13.1.2 创建名称堆栈
13.1.3 命中记录
13.1.4 选择示例
13.1.5 拾取
13.1.6 有关编写使用选择机制的程序的建议
13.2 反馈
13.2.1 反馈数组
13.2.2 在反馈模式下使用标记
13.2.3反馈示例
第14章 OpenGL高级技巧
14.1 错误处理
14.2 查询OpenGL版本
14.2.1 实用库版本
14.2.2 窗口系统扩展版本
14.3 对标准的扩展
14.4 轻松制作透明物体
14.5 轻松实现淡出效果
14.6 使用后缓存来处理选择
14.7 开销不高的图像变换方法
14.8 显示多层
14.9 字符反走样
14.10 绘制圆形点
14.11 图像插值
14.12 制作贴花
14.13 使用模板缓存绘制填充凹多边形
14.14 找出冲突区域
14.15 阴影
14.16 隐藏线消除
14.16.1 使用多边形偏移隐藏线消除
14.16.2 使用模板缓存消除隐藏线
14.17 纹理映射的用途
14.18 绘制深度缓存图像
14.19 狄利克雷域
14.20 生存游戏
14.21 gIDrawPixels()和gICopyPixels()的其他用途
附录A 操作顺序
A.1 概述
A.2 几何操作
A.3 顶点操作
A.3.1 图元装配
A.3.2 像素操作
A.4 片元操作
A.5 其他操作
附录B 状态变量
B.1 查询函数
B.2 OpenGL变量
附录C OpenGL和窗口系统
C.1 访问新的 OpenGL函数
C.2 X窗口系统的 OpenGL扩展(GLX)
C.2.1 初始化
C.2.2 控制渲染
C.2.3 GLX训函数的原型
C.3 Apple Macintosh的 OpenGL扩展(AGL)
C.3.1 初始化
C.3.2 渲染和场境
C.3.3 管理 OpenGL渲染场境
C.3.4 在屏幕上渲染
C.3.5 离屏渲染
C.3.6 全屏渲染
C.3.7 交换缓存
C.3.8 更新渲染
C.3.9 使用Apple Macintosh字体
C.3.10 错误处理
C.3.11 AGL库函数的原型
C.4 IBM OS/2 Warp的Apple Macintosh扩展(PGL)
C.4.1 初始化
C.4.2 控制渲染
C.4.3 PGL函数的原型
C.5 Microsoft Windows的Apple Macintosh扩展(WGL)
C.5.1 初始化
C.5.2 控制渲染
C.5.3 WGL函数的原型
附录D OpenGL实用工具包(GLUT)基础
D.1 初始化和创建窗口
D.2 处理窗口事件和输入事件
D.3 加裁颜色表
D.4 初始化和绘制三维物体
D.5 管理后台处理
D.6 运行程序
附录E 计算法线向量
E.1 计算解析曲面的法线
E.2 根据多边形数据计算法线
附录F 齐次坐标和变换矩阵
F.1 齐次坐标
F.1.1 变换顶点
F.1.2 法线变换
F.2 变换矩阵
F.2.1 平移
F.2.2 缩放
F.2.3 旋转
F.2.4 透视投影
F.2.5 正交投影
附录G 编程建议
G.1 OpenGL正确编程技巧
G.2 提高OpenGL性能的建议
G.3 GLX建议
附录H OpenGL的不变性
术语表
猜您喜欢