第1部分 環(huán)境搭建
1,VS 2010 環(huán)境搭建與項(xiàng)目工程建立與配置
1)VS 2010 環(huán)境搭建
2)項(xiàng)目工程建立
3)項(xiàng)目工程配置
2,Linux Fedra 環(huán)境搭建與項(xiàng)目工程建立與配置
1)Fedra 環(huán)境搭建
2)庫(kù)的安裝
3)源碼編寫(xiě)
4)源碼編譯
5)可執(zhí)行文件的運(yùn)行
6)makefile文件的編寫(xiě)
3,Linux Ubuntu 環(huán)境搭建與項(xiàng)目工程建立與配置
1)Fedra 環(huán)境搭建
2)庫(kù)的安裝
3)源碼編寫(xiě)
4)源碼編譯
5)可執(zhí)行文件的運(yùn)行
6)makefile文件的編寫(xiě)
4,Android 環(huán)境搭建與項(xiàng)目工程建立與配置
1)Android 環(huán)境搭建
2)項(xiàng)目工程建立
3)項(xiàng)目工程配置
4) 開(kāi)發(fā)要點(diǎn)
5,iPhone/iPAD 環(huán)境搭建與項(xiàng)目工程建立與配置
1)iPhone/iPAD 環(huán)境搭建
2)項(xiàng)目工程建立
3)項(xiàng)目工程配置
4)基于片段著色器和頂點(diǎn)著色器的編寫(xiě)模型
第2部分 設(shè)置圖形投影
2.1 三種基本的投影類(lèi)型
2.2 正射2D投影
2.2.1 程序和項(xiàng)目初始化
2.2.2 頂點(diǎn)和片段著色器
2.2.3 鏈接著色器程序
2.2.4 繪圖代碼
2.3 正交投影
2.4 透視投影
第3部分 處理復(fù)雜幾何圖形
3.1 Wavefront文件格式
3.1.1 cube.obj
3.1.2 cube.mtl
3.2 準(zhǔn)備OBJ瀏覽器代碼
3.3 加載OBJ
3.4 構(gòu)建著色器
3.4.1 頂點(diǎn)著色器
3.4.2 片段著色器
3.4.3 頂點(diǎn)緩沖區(qū)對(duì)象
3.4.4 存儲(chǔ)頂點(diǎn)數(shù)據(jù)
3.4.5 構(gòu)建頂點(diǎn)數(shù)據(jù)數(shù)組(VBO)
3.4.6 構(gòu)建元素?cái)?shù)組VBO
3.5 構(gòu)建VAO
3.6 渲染Momo
3.7 處理Touche事件
3.8 逐頂點(diǎn)光照
3.8.1 頂點(diǎn)著色器的光照計(jì)算
3.8.2 修改片段著色器
3.8.3 更多uniform變量
3.9 對(duì)Momo進(jìn)行美化
3.9.1 加載紋理
3.9.2 調(diào)整頂點(diǎn)數(shù)據(jù)
3.9.3 向頂點(diǎn)著色器添加UV支持
3.9.4 向片段著色器添加紋理支持
3.9.5 綁定紋理
第4部分 構(gòu)建場(chǎng)景
4.1 處理多個(gè)對(duì)象
4.2 代碼結(jié)構(gòu)
4.3 加載和繪制場(chǎng)景
4.4 著色器代碼
4.5 不同的對(duì)象類(lèi)型
4.6 繪制順序
4.7 修復(fù)場(chǎng)景
4.7.1 UberShader
4.7.2 使用UberShader
4.7.3 渲染循環(huán)對(duì)象分類(lèi)
4.7.4 雙面
4.8 逐像素光照
4.8.1 使頂點(diǎn)著色器更加豐富
4.8.2 獲取使用了更多Uber的片段著色器
4.8.3 封裝實(shí)現(xiàn)代碼
第5部分 優(yōu)化
5.1 基本應(yīng)用程序
5.2 從三角形到三角形帶
5.3 構(gòu)建三角形帶
5.4 紋理優(yōu)化
5.5 添加16位紋理轉(zhuǎn)換
5.6 PVR紋理壓縮
5.7 仿造細(xì)節(jié)
5.7.1 凸凹貼圖的實(shí)現(xiàn)
5.7.2 精度限定符優(yōu)化
5.7.3 法線貼圖光照計(jì)算
5.7.4 添加反射
5.8 幾何圖形和著色器LOD
5.9 紋理地圖集
5.10 在軟件中管理狀態(tài)
5.11 自動(dòng)著色器優(yōu)化
第6部分 實(shí)時(shí)物理
6.1 物理對(duì)象類(lèi)型
6.2 物理形狀
6.3 使用Bullet
6.4 HelloPhysics
6.5 碰撞回調(diào)、觸發(fā)器和接觸點(diǎn)
6.5.1 Contact-Added回調(diào)
6.5.2 Near回調(diào)
6.5.3 接觸點(diǎn)
6.6 2D物理
6.6.1 更多形狀
6.6.2 構(gòu)建物理對(duì)象
6.6.3 攝像頭跟蹤
6.6.4 用戶(hù)交互
6.6.5 游戲邏輯
6.7 3D物理
6.7.1 Bullet文件格式
6.7.2 3D彈珠游戲
第7部分 攝像頭
7.1 一觸即發(fā)
7.2 攝像頭視錐
7.2.1 視錐構(gòu)建方式
7.2.2 視錐剪切的實(shí)現(xiàn)
7.2.3 更多剪切函數(shù)
7.3 攝像頭飛行模式
7.4 帶有碰撞檢測(cè)的第一人稱(chēng)攝像頭
7.5 3D攝像頭跟蹤
7.6 帶有碰撞的第三人稱(chēng)攝像頭
第8部分 路徑發(fā)現(xiàn)
8.1 Recast和Detour
8.2 導(dǎo)航
8.3 創(chuàng)建導(dǎo)航網(wǎng)格
8.4 3D物理拾取
8.5 玩家的自動(dòng)驅(qū)動(dòng)
8.6 使路徑點(diǎn)可見(jiàn)
8.7 游戲“如果能就抓住我!
8.8 了解你的敵人
8.9 游戲狀態(tài)邏輯
第9部分 音頻及其他極佳的游戲編程資料
9.1 0peAL
9.2 0GGVorbis
9.3 HelloWorldOpenAL樣式
9.4 初始化OpenAL
9.5 播放靜態(tài)內(nèi)存聲音
9.6 定位聲源
9.7 鋼琴游戲
9.7.1 加載靜態(tài)的流式聲音
9.7.2 顏色提取
9.7.3 鋼琴游戲邏輯
9.7.4 最后的調(diào)整
9.8 滾球游戲
9.8.1 GFX著色器
9.8.2 鏈接定位聲源
9.8.3 加速計(jì)驅(qū)動(dòng)攝像頭
9.8.4 廉價(jià)的FX
9.8.5 游戲邏輯和調(diào)整
第10部分 高級(jí)光照
10.1 燈的類(lèi)型
10.2 使用光源
10.2.1 定向燈著色器
10.2.2 使用Smact作為IJniform
10.3 點(diǎn)燈
10.3.1 點(diǎn)光源著色器代碼
10.3.2 光的衰減
10.3.3 帶有衰減代碼的點(diǎn)光源
10.3.4 衰減Uniform變量
10.3.5 球體點(diǎn)光源
10.3.6 調(diào)整點(diǎn)光源代碼
10.3.7 聚光燈
10.3.8 聚光燈著色器代碼
10.4 多個(gè)光源
10.5 使著色器程序動(dòng)態(tài)化
第11部分 高級(jí)FX
11.1 渲染到紋理
11.2 后處理效果
11.2.1 第一渲染通道
11.2.2 第二渲染通道
11.2.3 全屏通道和模糊著色器
11.3 投影紋理
11.4 投影著色器
11.5 投影實(shí)時(shí)陰影
11.6 使用深度紋理投射陰影
11.7 關(guān)于幀緩沖對(duì)象的其他內(nèi)容
11.8 粒子
第12部分 骨骼動(dòng)畫(huà)
12.1 傳統(tǒng)的動(dòng)畫(huà)系統(tǒng)與最新的動(dòng)畫(huà)系統(tǒng)
12.2 MD5文件格式
12.3 加載MD5網(wǎng)格
12.4 對(duì)網(wǎng)格進(jìn)行動(dòng)畫(huà)處理
12.4.1 LERP
12.4.2 SLERP
12.5 混合動(dòng)畫(huà)
12.6 相加混合