本書主要介紹如何利用3D固定流水線編寫游戲引擎,以及在已編寫引擎的基礎上開發游戲,全書共分10章,主要內容包括游戲引擎簡介、數學知識、材質和光照、固定流水線、游戲引擎架構、3D引擎底層封裝、3D引擎封裝、游戲設計實現、地圖編輯器、3D可編程流水線。本書重點介紹3D固定流水線編程中涉及的矩陣和向量之間的換算,最后一章介紹了GPU編程,也就是常說的3D可編程流水線。
碩士研究生,從事互聯網和IT行業十年以上,擅長3D游戲引擎開發,GPU編程,游戲架構等技術。曾就職於網龍公司,久游公司,趣游等公司並擔任過重要職務,參與或主導過多款商業3D網絡游戲上線運營。
曾發表《三維漫游系統關鍵技術研究》,《虛擬交互漫游系統關鍵技術研究與實現 》,《移動端海洋實時仿真技術研究與實現》等多篇論文,目前個人擁有兩項軟件著作權。
目錄
第1章游戲引擎簡介
1.1引擎的原理
1.2開發3D引擎具備的條件
總結
第2章數學知識
2.1向量
2.1.1向量加法及運用
2.1.2向量減法及運用
2.1.3向量點積及應用
2.1.4向量的叉乘及應用
2.1.5向量的長度及應用
2.1.6向量的歸一化及應用
2.2矩陣運算
2.2.1矩陣加法和減法
2.2.2矩陣乘法及運用
2.33D坐標系
2.4齊次坐標
2.5四元數
總結
第3章材質和光照
3.1材質
3.2光照
總結
第4章固定流水線
4.1局部坐標到世界坐標的變換
4.2世界坐標到相機坐標的變換
4.3物體剔除
4.4相機坐標到透視坐標的變換
4.5透視坐標到視口坐標的變換
4.6光柵化
總結
第5章游戲引擎架構
5.1模塊功能細分
5.2GDI含義
5.3整個引擎渲染思路
總結
第6章3D引擎底層封裝
6.1自定義結構體
6.2矩陣定義
6.3通用類定義
6.4向量運算
6.5燈光
6.6視景體
6.7矩陣轉換
6.8圖形渲染系統
6.9材質
6.10坐標系之間的轉換
總結
第7章3D引擎封裝
7.1相機的實現
7.2監聽事件
7.3模型分析
7.4模型加載
7.5模型操作
7.6場景管理
7.7繪圖接口
7.8游戲窗口
總結
第8章游戲設計實現
8.1游戲架構
8.2坦克設計
8.3AI坦克
8.4子彈設計
8.5玩家控制
8.6游戲類封裝
8.7游戲管理
8.8主循環
總結
第9章地圖編輯器
9.1編輯器實現
9.2模型插件實現
總結
第10章3D可編程流水線
10.1GPU編程語言
10.2燈光的Shader渲染
10.3CelShading渲染
10.4環境映射
10.5Phong着色
10.6Bloom渲染
10.7PSSM陰影
總結
1.1引擎的原理
1.2開發3D引擎具備的條件
總結
第2章數學知識
2.1向量
2.1.1向量加法及運用
2.1.2向量減法及運用
2.1.3向量點積及應用
2.1.4向量的叉乘及應用
2.1.5向量的長度及應用
2.1.6向量的歸一化及應用
2.2矩陣運算
2.2.1矩陣加法和減法
2.2.2矩陣乘法及運用
2.33D坐標系
2.4齊次坐標
2.5四元數
總結
第3章材質和光照
3.1材質
3.2光照
總結
第4章固定流水線
4.1局部坐標到世界坐標的變換
4.2世界坐標到相機坐標的變換
4.3物體剔除
4.4相機坐標到透視坐標的變換
4.5透視坐標到視口坐標的變換
4.6光柵化
總結
第5章游戲引擎架構
5.1模塊功能細分
5.2GDI含義
5.3整個引擎渲染思路
總結
第6章3D引擎底層封裝
6.1自定義結構體
6.2矩陣定義
6.3通用類定義
6.4向量運算
6.5燈光
6.6視景體
6.7矩陣轉換
6.8圖形渲染系統
6.9材質
6.10坐標系之間的轉換
總結
第7章3D引擎封裝
7.1相機的實現
7.2監聽事件
7.3模型分析
7.4模型加載
7.5模型操作
7.6場景管理
7.7繪圖接口
7.8游戲窗口
總結
第8章游戲設計實現
8.1游戲架構
8.2坦克設計
8.3AI坦克
8.4子彈設計
8.5玩家控制
8.6游戲類封裝
8.7游戲管理
8.8主循環
總結
第9章地圖編輯器
9.1編輯器實現
9.2模型插件實現
總結
第10章3D可編程流水線
10.1GPU編程語言
10.2燈光的Shader渲染
10.3CelShading渲染
10.4環境映射
10.5Phong着色
10.6Bloom渲染
10.7PSSM陰影
總結
序
當今,由於國家對文化產業的扶持力度加大,極大地促進了游戲這一行業的繁榮發展,越來越多的IT從業人員加入游戲開發或VR/AR虛擬現實和增強現實開發中。
由於游戲行業是一種技術濃縮型的行業,作為一名從業者,要想在游戲行業尤其是3D游戲行業內生存、發展,沒有過硬的技術是不行的。可是,多年的從業經歷讓我見到過許許多多的年輕人,他們在公司里只能寫一些簡單的邏輯,導致理論和技術長時間得不到提高,長期被邊緣化,隨時都有被辭退的風險。究其原因,是因為他們對於游戲基礎理論知識缺乏運用到實戰的經驗,在公司的游戲開發中無法提供價值。
在和他們接觸的過程中,我發現一個很普遍的現象:這些能力欠佳的年輕人也有着強烈的欲望去學習專業知識,只是市場上的3D引擎書籍講述得偏理論化,而且理論和技術點比較瑣碎、脫節,與他們的游戲研發項目沒有必然的聯系,有時熬夜看完一本書,腦子里閃現的只是一些零散的知識點,在平時的工作實踐中根本用不上,久而久之,也就失去了學習興趣,得過且過了。作為他們的前輩,我也有相似的經歷,耽誤了很多時間,我一直想着怎麼能讓后來者少走彎路,理論聯系實踐。筆者經過多年的經驗積累,終於奉上了這本嘔心瀝血之作。
本書的目的就是要打破常規,將理論知識貫穿到游戲引擎的架構設計和游戲開發中,經典的案例就像萬能公式一樣,可以使讀者邊學習邊運用到當前的游戲項目中去,實用性超強!初學者認真學完本書后,會更深入地理解引擎架構原理及數學知識在游戲中的運用,對自己能力的提升是非常好的助推器。
由於游戲行業是一種技術濃縮型的行業,作為一名從業者,要想在游戲行業尤其是3D游戲行業內生存、發展,沒有過硬的技術是不行的。可是,多年的從業經歷讓我見到過許許多多的年輕人,他們在公司里只能寫一些簡單的邏輯,導致理論和技術長時間得不到提高,長期被邊緣化,隨時都有被辭退的風險。究其原因,是因為他們對於游戲基礎理論知識缺乏運用到實戰的經驗,在公司的游戲開發中無法提供價值。
在和他們接觸的過程中,我發現一個很普遍的現象:這些能力欠佳的年輕人也有着強烈的欲望去學習專業知識,只是市場上的3D引擎書籍講述得偏理論化,而且理論和技術點比較瑣碎、脫節,與他們的游戲研發項目沒有必然的聯系,有時熬夜看完一本書,腦子里閃現的只是一些零散的知識點,在平時的工作實踐中根本用不上,久而久之,也就失去了學習興趣,得過且過了。作為他們的前輩,我也有相似的經歷,耽誤了很多時間,我一直想着怎麼能讓后來者少走彎路,理論聯系實踐。筆者經過多年的經驗積累,終於奉上了這本嘔心瀝血之作。
本書的目的就是要打破常規,將理論知識貫穿到游戲引擎的架構設計和游戲開發中,經典的案例就像萬能公式一樣,可以使讀者邊學習邊運用到當前的游戲項目中去,實用性超強!初學者認真學完本書后,會更深入地理解引擎架構原理及數學知識在游戲中的運用,對自己能力的提升是非常好的助推器。
網路書店
類別
折扣
價格
-
新書$354