圖形引擎開發入門:基於Python語言

卞安

  • 出版商: 電子工業
  • 出版日期: 2025-03-01
  • 定價: $828
  • 售價: 8.5$704
  • 語言: 簡體中文
  • 頁數: 388
  • ISBN: 7121495929
  • ISBN-13: 9787121495922
  • 下單後立即進貨 (約4週~6週)

商品描述

這是一本講解如何使用Python 進行系統化圖形引擎開發的圖書。本書基於作者長期從事圖形引擎開發工作的經驗,結合簡單易懂的Python 語言和PyOpenGL 模塊,通過對引擎開發知識由淺入深的編排和講解,讓廣大對圖形學感興趣的"小白”開發者一步步掌握圖形引擎的開發流程和實現原理,並在這個過程中熟練掌握OpenGL,進而有能力基於各種開發語言進行圖形引擎的開發工作。 本書結構緊湊、內容翔實、由淺入深,是學習、掌握圖形引擎開發入門知識的重要參考書。

作者簡介

卞安,網名紅孩兒,遊戲行業知名技術專家,多年從事遊戲引擎和工具化產品開發,獨立開發過遊戲引擎工具化軟件並被知名引擎企業收購。曾任職北京無限時空引擎總監、觸控科技引擎產品總監、玩吧技術專家組長等技術管理崗位。有多年創業經驗,帶領團隊在移動3D遊戲、VR引擎等領域開發過多款自研技術產品,在自研引擎技術研發領域有較豐富的經驗。撰寫過大量的技術類文章,其中部分被官方媒體收錄,被評為知名遊戲引擎Cocos的最有價值專家及CSDN博客專家,並多次擔任過知名高校的遊戲技術開發課程講師。目前主要致力於基於Python語言的IDE和遊戲引擎研發。

目錄大綱

目 錄
第1章 圖形引擎概述 1
1.1 圖形引擎發展史 1
1.1.1 卡馬克時代 1
1.1.2 UE與Unity 2
1.1.3 國產引擎的發展 4
1.2 從Python編程開始 7
1.2.1 PyOpenGL開發環境搭建 7
1.2.2 引擎工具開發 11
第2章 引擎開發理論入門 13
2.1 基本的OpenGL渲染流程 13
2.1.1 認識渲染管線 13
2.1.2 圖形編程過程原理 14
2.2 認識頂點與索引緩沖區 16
2.2.1 頂點——世界的起點 16
2.2.2 VBO、IBO和VAO 18
2.3 認識屏幕緩沖區 21
2.3.1 屏幕緩沖區 21
2.3.2 邏輯緩沖區 22
2.4 認識顏色與紋理 23
2.4.1 顏色與像素 23
2.4.2 紋理的本質 25
2.4.3 圖片的使用 30
2.4.4 紋理混合 32
2.5 向量、矩陣與四元數 34
2.5.1 向量 34
2.5.2 矩陣基本運算 35
2.5.3 四元數 39
2.5.4 MVP矩陣與3D成像 39
2.6 認識攝像機 41
2.6.1 正交與投影 41
2.6.2 攝像機控制 42
2.7 基本圖形繪制 43
2.7.1 繪制一個點 43
2.7.2 繪制一條線 45
2.7.3 繪制三角形與四邊形 47
2.7.4 繪制一個立方體 50
第3章 Shader入門與實踐 56
3.1 GLSL語法入門 56
3.1.1 GLSL基本流程 56
3.1.2 GLSL基本語法 57
3.2 GLSL 2D圖效處理實踐 63
3.2.1 基本顏色處理 63
3.2.2 過濾器效果 70
3.2.3 過渡變化效果 72
3.3 GLSL 3D圖效處理實踐 85
3.3.1 基本頂點動畫 85
3.3.2 基本材質處理 93
3.3.3 簡單霧效實現 103
第4章 動畫原理與實踐 111
4.1 動畫的基本原理 111
4.1.1 序列幀動畫 111
4.1.2 插值動畫 113
4.1.3 攝像機動畫 122
4.1.4 骨骼蒙皮動畫 127
4.2 動畫過程實踐 130
播放序列幀動畫 130
第5章 模型原理與實踐 138
5.1 認識模型 138
5.1.1 模型與材質 138
5.1.2 骨骼模型 143
5.1.3 動作的融合與混合 145
5.1.4 模型LOD 147
5.2 模型解析實踐 148
5.2.1 加載OBJ模型 148
5.2.2 加載FBX模型 155
5.2.3 加載PMM模型 168
5.3 模型觀察器 171
5.3.1 工具界面設計與實現 171
5.3.2 模型的加載處理 175
5.3.3 觀察攝像機控制 178
5.3.4 模型材質編輯 180
5.3.5 骨骼與動畫 184
第6章 認識光和影 186
6.1 光照原理入門 186
6.1.1 基礎光照模型 186
6.1.2 延遲光照原理 194
6.2 光照編程實踐動態點光源 197
6.3 影子原理入門 202
6.3.1 面片影子 203
6.3.2 ShadowMap 204
6.3.3 體積陰影 206
6.4 影子編程實踐實現模型的ShadowMap 207
第7章 粒子系統入門 215
7.1 粒子系統原理 215
7.1.1 粒子的基本結構 215
7.1.2 粒子發射器 217
7.2 粒子系統編程實踐 221
7.2.1 點精靈粒子:下雪啦! 221
7.2.2 模型粒子:彩球發射器 223
7.3 粒子編輯器入門 227
7.3.1 編輯器的界面實現 227
7.3.2 粒子效果編輯 233
7.3.3 效果加載與保存 235
第8章 場景渲染入門 238
8.1 天空渲染 238
8.1.1 天空盒 238
8.1.2 公告板雲 240
8.1.3 場景霧的渲染 241
8.1.4 風、雨、雪 242
8.2 地表渲染 245
8.2.1 認識地表網格 245
8.2.2 高度圖 252
8.2.3 多紋理混合 257
8.2.4 地表LOD 261
8.3 水面渲染 264
8.3.1 水體的生成 264
8.3.2 反射與折射 268
8.3.3 波浪動畫 268
8.4 植被與建築 271
8.4.1 草體渲染 272
8.4.2 樹木與建築 277
8.5 場景編輯器 288
8.5.1 編輯器的界面框架 288
8.5.2 地表編輯 290
8.5.3 模型擺放 299
8.5.4 特效擺放 302
8.5.5 環境設置 302
8.5.6 光照烘焙 302
8.5.7 場景保存與加載 303
第9章 畫面後期效果 306
9.1 後期效果基本原理 306
9.2 後期效果實踐 308
第10章 UI系統入門 312
10.1 UI系統設計原理 312
10.1.1 基本控件設計 312
10.1.2 鼠標事件處理 323
10.1.3 復合控件設計 329
10.1.4 文字輸入處理 335
10.2 UI系統編程實踐編寫一個簡單的登錄界面 340
10.3 UI編輯器入門 344
10.3.1 編輯器界面設計 345
10.3.2 控件的創建 347
10.3.3 控件的選中與拖動 353
10.3.4 控件列表與屬性編輯 357
10.3.5 界面保存與加載 364
第11章 圖形引擎設計與優化 370
11.1 框架設計 一個簡單的圖形引擎框架 370
11.2 無盡的優化 371
11.2.1 模型批次 371
11.2.2 頂點優化 373
11.2.3 紋理優化 373
11.2.4 渲染狀態優化 374
11.2.5 Shader優化 374
11.2.6 計算壓力優化 374
11.2.7 UI渲染優化 374
11.2.8 設計優化 375
附錄A 小白的成長路線 376