中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
C++游戲編程:創建3D游戲

包郵 C++游戲編程:創建3D游戲

出版社:人民郵電出版社出版時間:2018-03-01
開本: 其他 頁數: 399
中 圖 價:¥71.3(7.2折) 定價  ¥99.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

C++游戲編程:創建3D游戲 版權信息

C++游戲編程:創建3D游戲 本書特色

本書主要介紹用C 進行3D電子游戲編程的方法,并深入探討游戲開發人員在實際工作中所使用的相關技術和系統。全書分為14章和1個附錄(附錄A)。第1~5章主要介紹2D電子游戲的內容和電子游戲編程的核心概念;第6~14章主要介紹并講解3D電子游戲編程的內容,其中第8章的內容既適用于2D環境下的電子游戲編程,也適用于3D環境下的電子游戲編程;附錄A涵蓋一些C 中的重要概念,包括引用、隊列、指針、動態分配等。 本書以實際游戲項目為主線,詳細講解了開發相應項目所需的知識及開發設計過程中采用的實現方法。 本書適合使用C 語言進行電子游戲開發的初級或中級開發人員閱讀,也可供使用其他語言開發游戲(或使用其他游戲開發框架開發游戲)的技術人員參考,還可作為高等院校相關專業的參考用書(本書所涵蓋內容相當于大學課程設置中一個半學期的教學量)。

C++游戲編程:創建3D游戲 內容簡介

本書主要介紹用C++進行3D電子游戲編程的方法,并深入探討游戲開發人員在實際工作中所使用的相關技術和系統。全書分為14章和1個附錄(附錄A)。~5章主要介紹2D電子游戲的內容和電子游戲編程的核心概念;第6~14章主要介紹并講解3D電子游戲編程的內容,其中第8章的內容既適用于2D環境下的電子游戲編程,也適用于3D環境下的電子游戲編程;附錄A涵蓋一些C++中的重要概念,包括引用、隊列、指針、動態分配等。 本書以實際游戲項目為主線,詳細講解了開發相應項目所需的知識及開發設計過程中采用的實現方法。 本書適合使用C++語言進行電子游戲開發的初級或中級開發人員閱讀,也可供使用其他語言開發游戲(或使用其他游戲開發框架開發游戲)的技術人員參考,還可作為高等院校相關專業的參考用書(本書所涵蓋內容相當于大學課程設置中一個半學期的教學量)。

C++游戲編程:創建3D游戲 目錄

第 1章 游戲編程概述 1

1.1 設置開發環境 1

1.1.1 Microsoft Windows 1

1.1.2 Apple macOS 2

1.2 獲取本書的源代碼 2

1.3 C 標準庫以外的程序庫 2

1.4 游戲循環和Game類 3

1.4.1 關于“幀”的詳解 3

1.4.2 實現一個骨骼Game類 5

1.4.3 Main函數 8

1.4.4 基本輸入處理 9

1.5 基本的2D圖形 11

1.5.1 顏色緩沖區 12

1.5.2 雙緩沖區 13

1.5.3 實現基本的2D圖形 15

1.5.4 繪制墻壁、一個球和一支球拍 17

1.6 更新游戲 19

1.6.1 真實時間和游戲時間 19

1.6.2 根據增量時間的游戲邏輯 19

1.6.3 更新球拍的位置 21

1.6.4 更新球的位置 22

1.7 游戲項目 25

1.8 總結 25

1.9 補充閱讀材料 25

1.10 練習題 26

1.10.1 練習題1 26

1.10.2 練習題2 26

第 2章 游戲對象和2D圖形 27

2.1 游戲對象 27

2.1.1 游戲對象的類型 27

2.1.2 游戲對象模型 28

2.1.3 將游戲對象融入游戲循環中 32

2.2 精靈 34

2.2.1 加載圖像文件 34

2.2.2 繪制精靈 36

2.2.3 動畫精靈 39

2.3 滾動背景 41

2.4 游戲項目 43

2.5 總結 44

2.6 補充閱讀材料 45

2.7 練習題 45

2.7.1 練習題1 45

2.7.2 練習題2 45

2.7.3 練習題3 46

第3章 向量和基礎物理 47

3.1 向量 47

3.1.1 獲得兩點之間的向量:減法 48

3.1.2 向量縮放:標量乘法 49

3.1.3 合并兩個向量:加法 49

3.1.4 確定距離:長度 50

3.1.5 確定方向:單位向量和標準化 51

3.1.6 將角度轉換為前向向量 52

3.1.7 將前向向量轉換為角度:反正切 52

3.1.8 確定兩個向量之間的角度:點積 53

3.1.9 計算法線:叉積 54

3.2 基本運動 56

3.2.1 創建一個BasicMoveComponent類 56

3.2.2 創建一個InputComponent類 59

3.3 牛頓物理學 62

3.3.1 線性力學概述 62

3.3.2 用歐拉積分計算位置 63

3.3.3 關于可變步長的問題 63

3.4 基本碰撞檢測 64

3.4.1 圓與圓的交集 64

3.4.2 創建一個CircleComponent子類 65

3.5 游戲項目 66

3.6 總結 68

3.7 補充閱讀材料 68

3.8 練習題 68

3.8.1 練習題1 69

3.8.2 練習題2 69

3.8.3 練習題3 70

第4章 人工智能 71

4.1 狀態機行為 71

4.1.1 設計狀態機 71

4.1.2 基本狀態機的實現 72

4.1.3 以類表示的狀態 73

4.2 尋路 76

4.2.1 圖形 77

4.2.2 廣度優先搜索 78

4.2.3 heuristics函數 81

4.2.4 貪婪*佳優先搜索 83

4.2.5 A*搜索 87

4.2.6 迪杰斯特拉算法 89

4.2.7 跟隨路徑 90

4.2.8 其他圖形表示法 91

4.3 游戲樹 92

4.3.1 極大極小算法 93

4.3.2 處理不完整的游戲樹 95

4.3.3 α-β剪枝算法 96

4.4 游戲項目 98

4.5 總結 99

4.6 補充閱讀材料 100

4.7 練習題 100

4.7.1 練習題1 100

4.7.2 練習題2 101

第5章 開放圖形庫(OpenGL) 102

5.1 初始化OpenGL 102

5.1.1 設置OpenGL窗口 102

5.1.2 OpenGL上下文和初始化GLEW 104

5.1.3 渲染幀 105

5.2 三角形基礎 105

5.2.1 為何選擇多邊形 105

5.2.2 標準化設備坐標 106

5.2.3 頂點和索引緩沖區 106

5.3 著色器 110

5.3.1 頂點著色器 111

5.3.2 片段著色器 111

5.3.3 編寫基本著色器 111

5.3.4 加載著色器 113

5.3.5 繪制三角形 117

5.4 變換基礎 119

5.4.1 對象空間 120

5.4.2 世界空間 120

5.4.3 變換為世界空間 121

5.5 矩陣與變換 124

5.5.1 矩陣乘法 124

5.5.2 使用矩陣來變換點 124

5.5.3 變換為世界空間,再現 126

5.5.4 將世界變換添加到Actor類 128

5.5.5 從世界空間變換到剪輯空間 130

5.5.6 更新著色器以使用變換矩陣 131

5.6 紋理映射 135

5.6.1 加載紋理 136

5.6.2 更新頂點格式 139

5.6.3 更新著色器 140

5.6.4 Alpha混合 143

5.7 游戲項目 145

5.8 總結 145

5.9 補充閱讀材料 146

5.10 練習題 146

5.10.1 練習題1 146

5.10.2 練習題2 146

第6章 3D圖形 147

6.1 3D中的Actor變換 147

6.1.1 3D變換矩陣 147

6.1.2 歐拉角 148

6.1.3 四元數 149

6.1.4 運行中新的Actor變換 151

6.2 加載3D模型 152

6.2.1 選擇網格模型格式 153

6.2.2 更新頂點屬性 155

6.2.3 加載gpmesh文件 156

6.3 繪制3D網格 157

6.3.1 變換到剪輯空間,重訪 158

6.3.2 走出畫家算法,進入Z緩沖 161

6.3.3 BasicMesh著色器 164

6.3.4 MeshComponent類 164

6.4 光照 167

6.4.1 再訪頂點屬性 167

6.4.2 光照的類型 167

6.4.3 Phong反射模型 169

6.4.4 實現光照 171

6.5 游戲項目 175

6.6 總結 175

6.7 補充閱讀材料 176

6.8 練習題 176

6.8.1 練習題1 176

6.8.2 練習題2 177

第7章 音頻 178

7.1 引導音頻 178

7.1.1 FMOD 179

7.1.2 安裝FMOD軟件 179

7.1.3 創建一個音頻系統 180

7.1.4 儲存庫和事件 182

7.1.5 SoundEvent類 185

7.2 3D位置音頻 188

7.2.1 設置基本偵聽器 189

7.2.2 向SoundEvent類添加位置功能 191

7.2.3 創建AudioComponent類,使角色和聲音事件相關聯 192

7.2.4 第三人稱游戲中的偵聽器 193

7.2.5 多普勒效應 194

7.3 混合和效果 195

7.3.1 總線 196

7.3.2 快照 196

7.3.3 阻塞 197

7.4 游戲項目 198

7.5 總結 198

7.6 補充閱讀材料 199

7.7 練習題 199

7.7.1 練習題1 199

7.7.2 練習題2 199

第8章 輸入系統 200

8.1 輸入設備 200

8.1.1 輪詢 200

8.1.2 正沿和負沿 201

8.1.3 事件 203

8.1.4 基本InputSystem架構 203

8.2 鍵盤輸入 205

8.3 鼠標輸入 208

8.3.1 鼠標按鍵和鼠標位置 208

8.3.2 相對移動 210

8.3.3 鼠標滾動輪 211

8.4 控制器輸入 212

8.4.1 啟用單一控制器 212

8.4.2 按鍵 213

8.4.3 模擬搖桿和扳機 215

8.4.4 過濾二維中的模擬搖桿 217

8.4.5 支持多個控制器 219

8.5 輸入映射 220

8.6 游戲項目 221

8.7 總結 222

8.8 補充閱讀材料 223

8.9 練習題 223

8.9.1 練習題1 223

8.9.2 練習題2 223

第9章 相機 224

9.1 第 一人稱相機 224

9.1.1 基本的第 一人稱移動 224

9.1.2 無俯仰角度的相機 226

9.1.3 加入俯仰角度的相機 226

9.1.4 第 一人稱模型 228

9.2 跟拍相機 229

9.2.1 基本跟拍相機 229

9.2.2 添加彈簧 231

9.3 軌道相機 233

9.4 樣條曲線相機 236

9.5 逆投影 239

9.6 游戲項目 241

9.7 總結 242

9.8 補充閱讀材料 242

9.9 練習題 242

9.9.1 練習題1 243

9.9.2 練習題2 243

第 10章 碰撞檢測 244

10.1 幾何(體)類型 244

10.1.1 線段 244

10.1.2 平面 247

10.1.3 包圍體 248

10.2 相交測試 252

10.2.1 包含點測試 252

10.2.2 包圍框測試 254

10.2.3 線段相交測試 257

10.2.4 動態對象 263

10.3 向游戲代碼添加碰撞 265

10.3.1 BoxComponent類 266

10.3.2 PhysWorld類 267

10.3.3 使用SegmentCast函數的球彈碰撞檢測 269

10.3.4 在PhysWorld類中測試BoxComponent組件間碰撞 270

10.3.5 玩家與墻壁的碰撞檢測 272

10.4 游戲項目 274

10.5 總結 275

10.6 補充閱讀材料 276

10.7 練習題 276

10.7.1 練習題1 276

10.7.2 練習題2 277

10.7.3 練習題3 277

第 11章 用戶界面 278

11.1 字體渲染 278

11.2 用戶界面屏幕 281

11.2.1 用戶界面屏幕棧 282

11.2.2 暫停菜單 284

11.2.3 按鈕 286

11.2.4 對話框 289

11.3 平視顯示器元素 291

11.3.1 添加十字準線 291

11.3.2 添加雷達 293

11.4 本地化 296

11.4.1 使用Unicode 297

11.4.2 添加文本映射 297

11.4.3 其他本地化問題 299

11.5 支持多個分辨率 300

11.6 游戲項目 300

11.7 總結 301

11.8 補充閱讀材料 301

11.9 練習題 302

11.9.1 練習題1 302

11.9.2 練習題2 302

11.9.3 練習題3 302

第 12章 骨骼動畫 303

12.1 骨骼動畫的基礎 303

12.1.1 骨架和姿勢 304

12.1.2 反向綁定姿勢矩陣 307

12.1.3 動畫數據 307

12.1.4 蒙皮 308

12.2 實現骨骼動畫 309

12.2.1 使用帶有骨骼蒙皮的頂點屬性進行繪制 310

12.2.2 加載骨架數據 314

12.2.3 加載動畫數據 315

12.2.4 蒙皮頂點著色器程序 319

12.2.5 更新動畫 321

12.3 游戲項目 323

12.4 總結 324

12.5 補充閱讀材料 325

12.6 練習題 325

12.6.1 練習題1 325

12.6.2 練習題2 325

第 13章 中間圖形 327

13.1 提高紋理質量 327

13.1.1 紋理采樣、再訪 328

13.1.2 紋理分級細化 330

13.1.3 各向異性過濾 331

13.2 向紋理進行渲染 332

13.2.1 創建紋理 333

13.2.2 創建一個Framebuffer對象 333

13.2.3 渲染到Framebuffer對象 335

13.2.4 在HUD中繪制后視鏡紋理 337

13.3 延遲著色 338

13.3.1 創建G-Buffer類 339

13.3.2 寫入G緩沖區 342

13.3.3 全局光照 344

13.3.4 添加點光源 348

13.3.5 改進和問題 353

13.4 游戲項目 354

13.5 總結 354

13.6 補充閱讀材料 354

13.7 練習題 355

13.7.1 練習題1 355

13.7.2 練習題2 355

第 14章 級別文件和二進制數據 357

14.1 級別文件加載 357

14.1.1 加載游戲的全局屬性 358

14.1.2 加載角色 362

14.1.3 加載組件 366

14.2 保存級別文件 370

14.2.1 保存級別文件的全局屬性 371

14.2.2 保存級別文件的角色和組件 372

14.3 二進制數據 374

14.3.1 保存二進制文件 375

14.3.2 加載二進制的網格文件 377

14.4 游戲項目 379

14.5 總結 380

14.6 補充閱讀材料 381

14.7 練習題 381

14.7.1 練習題1 381

14.7.2 練習題2 382

附錄A 中級C 回顧 383

展開全部

C++游戲編程:創建3D游戲 作者簡介

Sanjay Madhav畢業于美國南加州大學,獲得了該校的計算機科學學士學位和碩士學位,目前在南加州大學攻讀計算機科學博士學位。自2008年起,他一直在南加州大學任教,主講多門編程和電子游戲編程課程。在此之前,他曾在多個電子游戲開發公司工作。他所服務過的公司有Electronic Arts、Neversoft和Pandemic Studios,所參與開發的游戲包括《榮譽勛章之血戰太平洋(Medal of Honor Pacific Assault)》《托尼霍克極限滑板8(Tony Hawk’s Project 8)》《指環王:征服(Lord of the Rings: Conquest)》和《破壞者(The Saboteur)》。Sanjay還是《Game Programming Algorithms and Techniques》的作者和《Multiplayer Game Programming》的共同作者。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 纳米涂料品牌 防雾抗污纳米陶瓷涂料厂家_虹瓷科技 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 硬度计_影像测量仪_维氏硬度计_佛山市精测计量仪器设备有限公司厂家 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 天坛家具官网| 无锡装修装潢公司,口碑好的装饰装修公司-无锡索美装饰设计工程有限公司 | 全国国际化学校_国际高中招生_一站式升学择校服务-国际学校网 | 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 机械加工_绞车配件_立式离心机_减速机-洛阳三永机械厂 | 艾乐贝拉细胞研究中心 | 国家组织工程种子细胞库华南分库 | 蜘蛛车-登高车-高空作业平台-高空作业车-曲臂剪叉式升降机租赁-重庆海克斯公司 | 手机游戏_热门软件app下载_好玩的安卓游戏下载基地-吾爱下载站 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 冷水机,风冷冷水机,水冷冷水机,螺杆冷水机专业制造商-上海祝松机械有限公司 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | [官网]叛逆孩子管教_戒网瘾学校_全封闭问题青少年素质教育_新起点青少年特训学校 | 线粒体膜电位荧光探针-细胞膜-标记二抗-上海复申生物科技有限公司 | 九州网址_专注于提供网址大全分享推广中文网站导航服务 | 高清视频编码器,4K音视频编解码器,直播编码器,流媒体服务器,深圳海威视讯技术有限公司 | 贵州成人高考网_贵州成考网 | 蒸压釜-陶粒板隔墙板蒸压釜-山东鑫泰鑫智能装备有限公司 | 高柔性拖链电缆_卷筒电缆_耐磨耐折聚氨酯电缆-玖泰特种电缆 | 搜木网 - 木业全产业链交易平台,免费搜货、低价买货! | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | 传爱自考网_传爱自学考试网| 数年网路-免费在线工具您的在线工具箱-shuyear.com | 14米地磅厂家价价格,150吨地磅厂家价格-百科 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | CCC验厂-家用电器|服务器CCC认证咨询-奥测世纪 | 除甲醛公司-甲醛检测治理-杭州创绿家环保科技有限公司-室内空气净化十大品牌 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 领袖户外_深度旅游、摄影旅游、小团慢旅行、驴友网 | 衢州装饰公司|装潢公司|办公楼装修|排屋装修|别墅装修-衢州佳盛装饰 | 柴油发电机组_柴油发电机_发电机组价格-江苏凯晨电力设备有限公司 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 方源木业官网-四川木门-全国木门专业品牌 | 冷库安装厂家_杭州冷库_保鲜库建设-浙江克冷制冷设备有限公司 | 广州市哲铭油墨涂料有限公司,水性漆生产研发基地 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 |