書(shū)籍簡(jiǎn)介:
本書(shū)由淺入深地講解OpenGL的概念和用法,通過(guò)一個(gè)個(gè)簡(jiǎn)單的實(shí)例使讀者對(duì)各個(gè)知識(shí)點(diǎn)一目了然。書(shū)中包括渲染管道、著色器、緩存、紋理、矩陣、光照模型、陰影、幀緩存、拾取、文字、用戶(hù)界面、體渲染、透明和通用計(jì)算等內(nèi)容。讀者掌握這些之后,就可以自由地設(shè)計(jì)和編寫(xiě)中等規(guī)模的三維圖形程序,并且能夠渲染百萬(wàn)數(shù)量級(jí)頂點(diǎn)的模型。本書(shū)相關(guān)內(nèi)容將在Github上持續(xù)更新,讀者可參閱更多資料。
本書(shū)適用于熟悉C、C 、C#或Java等任何面向?qū)ο缶幊陶Z(yǔ)言的讀者,本書(shū)會(huì)對(duì)這些相關(guān)的基礎(chǔ)內(nèi)容進(jìn)行必要的介紹。讀者只需認(rèn)真實(shí)踐,完全可以掌握本書(shū)內(nèi)容。
作者簡(jiǎn)介:
祝威
作者畢業(yè)于北京理工大學(xué)軟件工程專(zhuān)業(yè),熱愛(ài)編程,潛心研究OpenGL和圖形學(xué)多年,自行設(shè)計(jì)編寫(xiě)了CSharpGL開(kāi)源庫(kù)。期望本書(shū)能將作者的感悟傳播給更多的同道中人。
出版日期:
2019年04月
章節(jié)目錄:
第1章Hello OpenGL1
1.1從這里開(kāi)始認(rèn)識(shí)1
1.2OpenGL是什么1
1.3如何使用OpenGL2
1.4HelloOpenGL6
1.5輔助工具22
1.6不含位置屬性的頂點(diǎn)29
1.7總結(jié)31
1.8問(wèn)題31
第2章紋理33
2.1二維紋理33
2.2其他類(lèi)型的紋理40
2.3多個(gè)紋理43
2.4多個(gè)渲染方法46
2.5總結(jié)48
2.6問(wèn)題48
第3章空間和矩陣50
3.1如何理解矩陣50
3.2空間和矩陣的關(guān)系52
3.3Pipeline中的空間60
3.4實(shí)例化渲染61
3.5總結(jié)63
3.6問(wèn)題63
第4章幾何著色器64
4.1介紹64
4.2示例:渲染法線(xiàn)66
4.3總結(jié)69
4.4問(wèn)題69
第5章光照70
5.1BlinnPhong光照模型70
5.2光源70
5.3反射光70
5.4BlinnPhong算法75
5.5同時(shí)使用多個(gè)光源77
5.6陰影80
5.7凹凸映射80
5.8噪聲84
5.9總結(jié)88
5.10問(wèn)題88
第6章幀緩存8
6.1名詞術(shù)語(yǔ)90
6.2附著點(diǎn)90
6.3將Texture附著到Framebuffer91
6.4附著Renderbuffer95
6.5示例:Render to Texture95
6.6總結(jié)99
6.7問(wèn)題100
第7章陰影101
7.2ShadowVolume110
7.3模板緩存的初始化12
7.4多光源下的陰影123
7.5總結(jié)124
7.6問(wèn)題124
第8章拾取125
8.1基礎(chǔ)125
8.2在DrawArraysCmd命令下的拾取140
8.3在DrawElementsCmd命令下的拾取146
8.4拖拽頂點(diǎn)157
8.5總結(jié)162
8.6問(wèn)題163
第9章文字164
9.1固定尺寸且始終面向Camera164
9.2字形信息169
9.3三維世界的文字174
9.4總結(jié)177
9.5問(wèn)題177
第10章簡(jiǎn)單的用戶(hù)界面178
10.1指定區(qū)域的貼圖178
10.2控件的布局機(jī)制179
10.3控件的事件機(jī)制188
10.4CtrlImage193
10.5CtrlLabel196
10.6CtrlButton200
10.7總結(jié)202
10.8問(wèn)題202
第11章軌跡球203
11.1軌跡球203
11.2使用204
11.3設(shè)計(jì)205
11.4四元數(shù)209
11.5總結(jié)210
11.6問(wèn)題210
第12章體渲染211
12.1什么是體渲染211
12.2靜態(tài)切片212
12.3動(dòng)態(tài)切片215
12.4Raycasting217
12.5總結(jié)223
12.6問(wèn)題224
第13章半透明渲染225
13.1跳躍著色法225
13.2與順序無(wú)關(guān)的半透明渲染226
13.3Frontto Back Peeling235
13.4總結(jié)240
13.5問(wèn)題240
第14章Transform Feedback Object241
14.1TransformFeedback如何工作241
14.2使用Transform Feedback Object244
14.3輪流更新245
14.4粒子系統(tǒng)251
14.5總結(jié)254
14.6問(wèn)題254
第15章Compute Shader255
15.1ComputeShader簡(jiǎn)介255
15.2圖像處理257
15.3粒子系統(tǒng)261
15.4總結(jié)262
15.5問(wèn)題263
附錄264
附錄AGithub入門(mén)264
附錄BC#和面向?qū)ο笕腴T(mén)277
附錄C解析簡(jiǎn)單的wavefront(*.obj)文件格式298
附錄D自制體數(shù)據(jù)的2種方法302
封面圖: