第1章Hello OpenGL1
1.1從這里開始認識1
1.2OpenGL是什么1
1.3如何使用OpenGL2
1.4Hello OpenGL6
1.5輔助工具22
1.6不含位置屬性的頂點29
1.7總結31
1.8問題31
第2章紋理33
2.1二維紋理33
2.2其他類型的紋理40
2.3多個紋理43
2.4多個渲染方法46
2.5總結48
2.6問題48
第3章空間和矩陣50
3.1如何理解矩陣50
3.2空間和矩陣的關系52
3.3Pipeline中的空間60
3.4實例化渲染61
3.5總結63
3.6問題63
第4章幾何著色器64
4.1介紹64
4.2示例:渲染法線66
4.3總結69
4.4問題69
第5章光照70
5.1BlinnPhong光照模型70
5.2光源70
5.3反射光70
5.4BlinnPhong算法75
5.5同時使用多個光源77
5.6陰影80
5.7凹凸映射80
5.8噪聲84
5.9總結88
5.10問題88
第6章幀緩存89
6.1名詞術語90
6.2附著點90
6.3將Texture附著到Framebuffer91
6.4附著Renderbuffer95
6.5示例:Render to Texture95
6.6總結99
6.7問題100
第7章陰影101
7.2Shadow Volume110
7.3模板緩存的初始化122
7.4多光源下的陰影123
7.5總結124
7.6問題124
第8章拾取125
8.1基礎125
8.2在DrawArraysCmd命令下的拾取140
8.3在DrawElementsCmd命令下的拾取146
8.4拖拽頂點157
8.5總結162
8.6問題163
第9章文字164
9.1固定尺寸且始終面向Camera164
9.2字形信息169
9.3三維世界的文字174
9.4總結177
9.5問題177
第10章簡單的用戶界面178
10.1指定區(qū)域的貼圖178
10.2控件的布局機制179
10.3控件的事件機制188
10.4CtrlImage193
10.5CtrlLabel196
10.6CtrlButton200
10.7總結202
10.8問題202
第11章軌跡球203
11.1軌跡球203
11.2使用204
11.3設計205
11.4四元數209
11.5總結210
11.6問題210
第12章體渲染211
12.1什么是體渲染211
12.2靜態(tài)切片212
12.3動態(tài)切片215
12.4Raycasting217
12.5總結223
12.6問題224
第13章半透明渲染225
13.1跳躍著色法225
13.2與順序無關的半透明渲染226
13.3Front to Back Peeling235
13.4總結240
13.5問題240
第14章Transform Feedback Object241
14.1Transform Feedback如何工作241
14.2使用Transform Feedback Object244
14.3輪流更新245
14.4粒子系統(tǒng)251
14.5總結254
14.6問題254
第15章Compute Shader255
15.1Compute Shader簡介255
15.2圖像處理257
15.3粒子系統(tǒng)261
15.4總結262
15.5問題263
附錄264
附錄AGithub入門264
附錄BC#和面向對象入門277
附錄C解析簡單的wavefront(*.obj)文件格式298
附錄D自制體數據的2種方法302