TOP
0
0
古典詩詞的女兒-葉嘉瑩
計算機圖形學編程:使用OpenGL和C++(簡體書)
滿額折

計算機圖形學編程:使用OpenGL和C++(簡體書)

商品資訊

人民幣定價:69 元
定價
:NT$ 414 元
優惠價
87360
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點:10 點
商品簡介
名人/編輯推薦
目次
相關商品

商品簡介

本書以C++和OpenGL 作為工具,教授計算機圖形學編程。全書共14 章和3 個附錄。
首先從圖形編程的基礎和準備工作開始,依次介紹了OpenGL 圖像管線、圖形編程數學基礎、管理3D 圖形數據、紋理貼圖、3D 模型、光照、陰影、天空和背景、增強表面細節、參數曲面、曲面細分、幾何著色器,以及其他相關的圖形編程技術。附錄分別介紹了Windows、macOS 平臺上的安裝設置,以及Nsight 圖形調試器的應用。本書每章最後配備了不同形式的習題,供讀者鞏固所學知識。

本書適合作為高等院校計算機科學專業的計算機圖形編程課程的教材或輔導書,也適合對計算機圖形編程感興趣的讀者自學。

名人/編輯推薦

本書使用OpenGL和C++,教授現代3D圖形著色器編程。本書從圖形編程的基礎和準備工作開始,介紹了著色器的各個階段,包括建模、光照、紋理等基礎知識,以及曲面細分、柔和陰影、生成逼真的材質和環境等高級技術實現。

本書為讀者提供豐富的學習素材,包括書中使用的所有源代碼、模型、紋理、天空盒以及法線貼圖,既適合作為高等院校計算機相關專業的計算機圖形編程課程的教材或輔導書,也適合對計算機圖形編程感興趣的讀者自學。

本書具有以下特色:
● 覆蓋C++中的現代OpenGL 4.0+著色器編程;
● 使用可運行的代碼示例講解所有技術,提供完整的源代碼以及詳細的講解。
● 詳細講解每個GLSL可編程管線階段(頂點階段、曲面細分階段、幾何階段以及片段階段)。
● 研究有關建模、光照、陰影(包括柔和陰影)、地形以及3D材質(例如木材和大理石)的實例。
● 介紹現代開發工具(如NVIDIA Nsight調試器),以及如何用其優化代碼、提高性能。
● 提供書中使用的所有源代碼、模型、圖表、紋理、天空盒、天空穹頂、高度貼圖和法線貼圖。
● 本書為授課教師提供PPT、習題解答、課程大綱等教學輔助資源,請通過contact@epubit.com.cn聯繫獲取。

目次

第 1 章 入門.1

1.1 語言和庫.1

1.1.1 C++2

1.1.2 OpenGL / GLSL 2

1.1.3 窗口管理.2

1.1.4 擴展庫.3

1.1.5 數學庫.3

1.1.6 紋理管理.3

1.1.7 可選庫.4

1.2 安裝和配置.4

參考資料4

第 2 章 OpenGL 圖像管線.5

2.1 OpenGL 管線5

2.1.1 C++/OpenGL 應用程序.6

2.1.2 頂點著色器和片段著色器.9

2.1.3 曲面細分著色器.12

2.1.4 幾何著色器.13

2.1.5 光柵化.14

2.1.6 片段著色器.15

2.1.7 像素操作.16

2.2 檢測OpenGL 和GLSL錯誤.17

2.3 從文件讀取GLSL 源代碼.19

2.4 從頂點構建對象.20

2.5 場景動畫.21

2.6 C++代碼文件結構23

補充說明.24

習題24

參考資料25

第3 章 數學基礎. 26

3.1 3D 坐標系統. 26

3.2 點 26

3.3 矩陣 27

3.4 變換矩陣 29

3.4.1 平移矩陣. 29

3.4.2 縮放矩陣. 29

3.4.3 旋轉矩陣. 30

3.5 向量 31

3.5.1 點積的應用. 32

3.5.2 叉積的應用. 33

3.6 局部和世界空間 33

3.7 視覺空間和合成相機 34

3.8 投影矩陣 36

3.8.1 透視投影矩陣. 36

3.8.2 正射投影矩陣. 37

3.9 LookAt 矩陣. 38

3.10 用來構建矩陣變換的GLSL函數. 39

補充說明 40

習題. 40

參考資料. 41

第4 章 管理3D 圖形數據. 42

4.1 緩衝區和頂點屬性 42

4.2 統一變量 44

4.3 頂點屬性插值 45

4.4 模型-視圖和透視矩陣. 46

4.5 我們的第 一個3D 程序―― 一個3D 立方體 47

4.6 渲染一個對象的多個副本. 53

4.7 在同一個場景中渲染多個不同模型.57

4.8 矩陣堆棧.59

4.9 應對“Z 衝突”偽影64

4.10 圖元的其他選項.65

4.11 性能優先的編程方法.66

4.11.1 儘量減少動態內存空間分配66

4.11.2 預先計算透視矩陣.67

4.11.3 背面剔除.68

補充說明.69

習題70

參考資料70

第5 章 紋理貼圖71

5.1 加載紋理圖像文件.71

5.2 紋理坐標.72

5.3 創建紋理對象.74

5.4 構建紋理坐標.74

5.5 將紋理坐標載入緩衝區.75

5.6 在著色器中使用紋理:採樣器變量和紋理單元.76

5.7 紋理貼圖:示例程序.77

5.8 多級漸遠紋理貼圖.79

5.9 各向異性過濾.83

5.10 環繞和平鋪.84

5.11 透視變形.85

5.12 材質――更多OpenGL 細節.86

補充說明.86

習題87

參考資料87

第6 章 3D 模型88

6.1 程序構建模型――構建一個球體.88

6.2 OpenGL 索引――構建一個環面.94

6.2.1 環面.94

6.2.2 OpenGL 中的索引95

6.3 加載外部構建的模型.99

補充說明. 106

習題. 107

參考資料. 107

第7 章 光照 108

7.1 光照模型 108

7.2 光源 109

7.3 材質.111

7.4 ADS 光照計算. 112

7.5 實現ADS 光照 114

7.5.1 Gouraud 著色(雙線性光強插值法) 115

7.5.2 Phong 著色. 120

7.6 結合光照與紋理 124

補充說明. 126

歷史記錄. 126

習題. 126

參考資料. 127

第8 章 陰影 128

8.1 陰影的重要性 128

8.2 投影陰影 129

8.3 陰影體 129

8.4 陰影貼圖 130

8.4.1 陰影貼圖(第 1 輪)――從光源位置“繪製”物體 131

8.4.2 陰影貼圖(中間步驟)――將Z 緩衝區複製到紋理 132

8.4.3 陰影貼圖(第 2 輪)――渲染帶陰影的場景 132

8.5 陰影貼圖示例 135

8.6 陰影貼圖的偽影 139

8.7 柔和陰影 142

8.7.1 現實世界中的柔和陰影 142

8.7.2 生成柔和陰影――百分比鄰近濾波(PCF) . 143

8.7.3 柔和陰影/PCF 程序146

補充說明.148

習題148

參考資料149

第9 章 天空和背景.150

9.1 天空盒.150

9.2 天空穹頂.152

9.3 實現天空盒.153

9.3.1 從頭開始構建天空盒.153

9.3.2 使用OpenGL 立方體貼圖.156

9.4 環境貼圖.158

補充說明.161

習題162

參考資料163

第 10 章 增強表面細節.164

10.1 凹凸貼圖.164

10.2 法線貼圖.166

10.3 高度貼圖.172

補充說明.174

習題175

參考資料175

第 11 章 參數曲面.176

11.1 二次貝塞爾曲線.176

11.2 三次貝塞爾曲線.177

11.3 二次貝塞爾曲面.180

11.4 三次貝塞爾曲面.181

補充說明.183

習題183

參考資料183

第 12 章 曲面細分.184

12.1 OpenGL 中的曲面細分184

12.2 貝塞爾曲面細分.188

12.3 地形、高度圖的細分.193

12.4 控制細節級別(LOD).198

補充說明. 200

習題. 201

參考資料. 201

第 13 章 幾何著色器 202

13.1 OpenGL 中的逐個圖元處理. 202

13.2 修改圖元 203

13.3 刪除圖元 206

13.4 添加圖元 207

13.5 更改圖元類型 209

補充說明. 211

習題. 211

參考資料. 211

第 14 章 其他技術 212

14.1 霧 212

14.2 複合、混合、透明度. 213

14.3 用戶定義剪裁平面 218

14.4 3D 紋理 219

14.5 噪聲 223

14.6 噪聲應用――大理石. 227

14.7 噪聲應用――木材. 230

14.8 噪聲應用――雲. 233

14.9 噪聲應用――特殊效果. 236

補充說明. 238

習題. 238

參考資料. 239

附錄A PC(Windows)上的安裝與設置 240

A.1 安裝庫和開發環境 240

A.1.1 安裝開發環境. 240

A.1.2 安裝OpenGL /

GLSL. 240

A.1.3 準備GLFW 240

A.1.4 準備GLEW 241

A.1.5 準備GLM. 241

A.1.6 準備SOIL2. 241

A.1.7 準備共享的“lib”和“include”文件夾241

A.2 在MS Visual Studio 中開發和部署OpenGL 項目242

參考資料243

附錄B Macintosh(macOS)平臺上的安裝與設置.244

B.1 安裝庫和開發環境244

B.1.1 準備並安裝依賴庫.244

B.1.2 準備開發環境.245

B.2 修改Mac 的C++ / OpenGL /GLSL 應用程序代碼.246

B.2.1 修改C++代碼 247

B.2.2 修改GLSL 代碼. 247

B.2.3 補充說明. 248

參考資料. 248

附錄C 使用Nsight 圖形調試器. 249

C.1 關於NVIDIANsight 249

C.2 設置Nsight 249

C.3 在Nsight 中運行C++/OpenGL應用程序. 250

參考資料. 252

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 360
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區