1 OpenGL介绍 1
1.1 OpenGL特点 1
1.2渲染流程 3
1.3函数分类 4
2点线面基本绘制 5
2.1 OpenGL点线面概念 5
2.2图形元素输入显示 6
2.2.1元素输入 6
2.2.2输入构成解析 7
2.3基本显示模式 12
2.3.1顶点绘制 12
2.3.2三角形绘制 13
2.3.3三角形面填充模式 14
2.3.4面颜色设置 15
2.3.5颜色过渡 16
2.4组合显示模式 18
2.4.1组合模式基础 18
2.4.2光滑面线条显示 19
2.4.3法向方向显示 21
2.4.4主曲率方向显示 23
2.5选择的点线面显示 25
3光照模型 32
3.1三维渲染 32
3.2光源参数 34
3.2.1光源类型 34
3.2.2光组成成分 36
3.3光照公式 37
3.3.1漫反射光 37
3.3.2镜面反射光 37
3.3.3环境光 38
3.3.4光源类型 38
3.4 OpenGL光照函数 40
3.5光源类型设置 41
3.5.1光源初始化 41
3.5.2方向光源 44
3.5.3点光源 46
3.5.4聚光灯 50
3.6光照成分设置 54
3.7双面光照 57
4三维模型材质 62
4.1材质概念 62
4.2材质参数 64
5 OpenGL状态和信息 67
5.1状态介绍 67
5.2信息查询 70
5.3内置变量 71
5.4平面裁剪 74
5.5屏幕裁剪 76
5.6反走样 77
5.7雾气效果 80
6缓冲区 84
6.1颜色缓冲区 84
6.2 Alpha测试 85
6.3深度缓冲 87
6.4模板缓冲 90
6.5累积缓冲区 93
7透明效果 95
7.1颜色混合 95
7.1.1混合因子 95
7.1.2混合效果 96
7.2透明实验 99
7.3镜面反射 105
7.4阴影 107
8纹理贴图 111
8.1纹理概念 111
8.2纹理函数 114
8.3自动生成纹理坐标 120
8.4多重纹理 124
8.5纹理动画 127
9二维变换 128
9.1齐次坐标 128
9.2二维图形变换 129
10三维变换 143
10.1平移变换 143
10.2缩放变换 144
10.3对称变换 145
10.4错切变换 147
10.5旋转变换 147
10.6逆变换和复合变换 151
10.7变换顺序 152
10.8模型变换 159
11投影和视角变换 166
11.1投影分类 166
11.2正交投影 168
11.3透视投影 172
11.4视角变换 178
11.5窗口变换 179
11.6三维模型变换过程 180
12四元数 182
12.1复数 182
12.2四元数运算 183
12.3四元数旋转 185
12.4四元数转换 186
12.5旋转实例 189
12.6四元数代码 192
13 ArcBall变换和选择 200
13.1 ArcBall介绍 200
13.2轨迹球 200
13.3轨迹球核心代码 203
13.4点边面选择 204
13.5点边面选择核心代码 206