OpenGL 簡約筆記:用 C# 學面向對象的 OpenGL (用少的配置學複雜的OpenGL)

祝威

  • 出版商: 北京航空航天大學
  • 出版日期: 2019-04-01
  • 售價: $414
  • 貴賓價: 9.5$393
  • 語言: 簡體中文
  • 頁數: 302
  • 裝訂: 平裝
  • ISBN: 7512427352
  • ISBN-13: 9787512427358
  • 相關分類: C#OpenGL
  • 立即出貨

買這商品的人也買了...

商品描述

本書由淺入深地講解OpenGL的概念和用法,通過一個個簡單的實例使讀者對各個知識點一目了然。
書中包括渲染管道、著色器、緩存、紋理、矩陣、光照模型、陰影、幀緩存、拾取、文字、用戶界面、體渲染、透明和通用計算等內容。
讀者掌握這些之後,就可以自由地設計和編寫中等規模的三維圖形程序,並且能夠渲染百萬數量級頂點的模型。
本書相關內容將在Github上持續更新,讀者可參閱更多資料。
本書適用於熟悉C、C 、C#或Java等任何面向對象編程語言的讀者,
本書會對這些相關的基礎內容進行必要的介紹。
讀者只需認真實踐,完全可以掌握本書內容。

作者簡介

作者畢業於北京理工大學軟件工程專業,熱愛編程,潛心研究OpenGL和圖形學多年,自行設計編寫了CSharpGL開源庫。
期望本書能將作者的感悟傳播給更多的同道中人。

目錄大綱

第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.1BlinnPhong光照模型70
5.2光源70
5.3反射光70
5.4BlinnPhong算法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指定區域的貼圖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靜態切片212
12.3動態切片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粒子系統251
14.5總結254
14.6問題254

第15章Compute Shader255
15.1Compute Shader簡介255
15.2圖像處理257
15.3粒子系統261
15.4總結262
15.5問題263
附錄264
附錄AGithub入門264
附錄BC#和麵向對象入門277
附錄C解析簡單的wavefront(*.obj)文件格式298
附錄D自製體數據的2種方法302