出版時(shí)間:2007-5 出版社:人民郵電 作者:王德才 頁(yè)數(shù):668 字?jǐn)?shù):1281000
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書(shū)系統(tǒng)全面地介紹了Direct3D三維圖形程序設(shè)計(jì)的相關(guān)內(nèi)容。全書(shū)共分5個(gè)部分。第一部分介紹了Direct3D程序設(shè)計(jì)基礎(chǔ),包括三維坐標(biāo)變換、光照處理、紋理貼圖、霧化效果、文件模型、文本和字體等內(nèi)容。第二部分介紹了Direct3D程序設(shè)計(jì)的相關(guān)高級(jí)技術(shù),包括多層紋理映射、紋理坐標(biāo)自動(dòng)生成與變換、環(huán)境映射、凹凸紋理映射、立體紋理、紋理壓縮、.X文件格式分析、網(wǎng)格模型優(yōu)化、層次細(xì)節(jié)網(wǎng)格模型、增強(qiáng)網(wǎng)格模型、蒙皮骨骼動(dòng)畫(huà)網(wǎng)格模型以及粒子系統(tǒng)等。第三部分介紹了Direct3D GPU編程(即可編程流水線(xiàn)),包括HLSL渲染語(yǔ)言、HLSL頂點(diǎn)渲染、HLSL像素渲染、Effect及其高級(jí)應(yīng)用、ASM頂點(diǎn)渲染、ASM像素渲染。第四部分介紹了三維圖形程序設(shè)計(jì)領(lǐng)域目前流行的許多實(shí)用技術(shù),包括廣告板技術(shù)、紋理動(dòng)畫(huà)技術(shù)、自然現(xiàn)象模擬、三維地形模擬、海浪效果模擬、柔性物體模擬、凹凸紋理應(yīng)用、短毛發(fā)模擬以及體積霧等。第五部分是附錄,包括學(xué)習(xí)Direct3D之前所必須掌握的基礎(chǔ)知識(shí)和DirectX SDK提供的各種工具的簡(jiǎn)要說(shuō)明。 本書(shū)配套光盤(pán)提供了書(shū)中所有示例程序的可執(zhí)行文件、工程文件和完整源代碼,以方便讀者編譯、調(diào)試示例程序。 本書(shū)主要面向?qū)irect3D三維圖形程序設(shè)計(jì)感興趣的編程人員、游戲開(kāi)發(fā)人員以及可視化仿真工程技術(shù)人員,也可作為高等院校相關(guān)專(zhuān)業(yè)和培訓(xùn)機(jī)構(gòu)的Direct3D程序設(shè)計(jì)用書(shū)。
書(shū)籍目錄
第一部分 基礎(chǔ)篇 第1章 DirectX與Direct3D簡(jiǎn)介 1.1 什么是DirectX和Direct3D 1.2 DirectX的發(fā)展歷史 1.3 DirectX 9.0的安裝與配置 1.3.1 DirectX 9.0的安裝 1.3.2 選擇調(diào)試或發(fā)布庫(kù) 1.3.3 在Visual Studio.NET IDE中配置DirectX 1.3.4 瀏覽DirectX SDK示例程序 1.4 DirectX功能組件 1.5 DirectX的幾種開(kāi)發(fā)方式 1.6 小結(jié) 第2章 Direct3D程序設(shè)計(jì)基礎(chǔ) 2.1 相關(guān)基礎(chǔ)知識(shí) 2.2 Direct3D體系結(jié)構(gòu) 2.3 Direct3D對(duì)象 2.4 Direct3D設(shè)備對(duì)象 2.4.1 Direct3D設(shè)備類(lèi)型 2.4.2 創(chuàng)建Direct3D設(shè)備對(duì)象 2.5 Direct3D程序基本結(jié)構(gòu) 2.6 最簡(jiǎn)單的Direct3D程序 2.6.1 工程項(xiàng)目和開(kāi)發(fā)環(huán)境設(shè)置 2.6.2 創(chuàng)建窗口 2.6.3 初始化Direct3D 2.6.4 消息循環(huán) 2.6.5 渲染圖形 2.6.6 結(jié)束Direct3D程序 2.7 Direct3D設(shè)備對(duì)象深入探討 2.8 Direct3D表面 2.9 小結(jié) 第3章 坐標(biāo)系與基本圖元 3.1 Direct3D坐標(biāo)系 3.2 Direct3D基本圖元 3.3 使用頂點(diǎn)緩沖區(qū)繪制圖形 3.3.1 創(chuàng)建頂點(diǎn)緩沖區(qū) 3.3.2 渲染頂點(diǎn)緩沖區(qū)圖形 3.3.3 各種基本圖元繪制 3.4 使用索引緩沖區(qū)繪制圖形 3.5 圖形渲染其他相關(guān)內(nèi)容 3.5.1 靈活頂點(diǎn)格式 3.5.2 渲染狀態(tài) 3.5.3 場(chǎng)景提交 3.5.4 圖形反鋸齒(antialiasing) 3.5.5 全屏幕顯示 3.6 Direct3D中的顏色表示 3.7 資源的概念 3.8 小結(jié) 第4章 頂點(diǎn)坐標(biāo)變換 4.1 頂點(diǎn)坐標(biāo)變換和光照流水線(xiàn)概述 4.2 矩陣類(lèi)型及其操作 4.3 世界變換 4.4 取景變換 4.5 投影變換 4.6 視區(qū)變換 4.7 獲取Direct3D坐標(biāo)變換矩陣 4.8 三維坐標(biāo)變換示例程序 4.9 小結(jié) 第5章 光照與材質(zhì) 5.1 光照計(jì)算模型 5.2 光源 5.2.1 光源類(lèi)型 5.2.2 光源屬性 5.2.3 設(shè)置燈光 5.2.4 對(duì)光源的幾點(diǎn)說(shuō)明 5.3 材質(zhì) 5.3.1 設(shè)置材質(zhì) 5.3.2 獲取材質(zhì)屬性 5.4 光照和材質(zhì)示例程序 5.4.1 簡(jiǎn)單光照示例程序 5.4.2 多光源光照示例程序 5.4.3 使用燈光的幾點(diǎn)說(shuō)明 5.5 深入理解光照計(jì)算模型 5.6 小結(jié) 第6章 紋理映射基礎(chǔ) 6.1 基本概念 6.2 使用紋理 6.3 紋理過(guò)濾方式 6.3.1 最近點(diǎn)采樣 6.3.2 線(xiàn)性紋理過(guò)濾 6.3.3 各項(xiàng)異性紋理過(guò)濾 6.3.4 多級(jí)漸進(jìn)紋理過(guò)濾 6.3.5 紋理過(guò)濾方式示例程序 6.4 紋理尋址模式 6.4.1 重疊紋理尋址模式 6.4.2 鏡像紋理尋址模式 6.4.3 夾取紋理尋址模式 6.4.4 邊框顏色紋理尋址模式 6.4.5 紋理尋址模式示例程序 6.5 紋理階段混合狀態(tài) 6.5.1 紋理階段混合狀態(tài)設(shè)置 6.5.2 紋理階段混合狀態(tài)示例程序 6.6 紋理包裝 6.7 小結(jié) 第7章 使用文件模型 7.1 三維模型基礎(chǔ) 7.2 模型文件格式轉(zhuǎn)換 7.2.1 ds Max制作的模型轉(zhuǎn)換為.X文件模型 7.2.2 Maya制作的模型轉(zhuǎn)換為.X文件模型 7.3 在Direct3D程序中載入模型 7.3.1 網(wǎng)格模型接口ID3DXMESH 7.3.2 載入.X文件并生成網(wǎng)格模型 7.4 渲染網(wǎng)格模型 7.5 三維模型旋轉(zhuǎn) 7.5.1 通過(guò)矩陣實(shí)現(xiàn)模型旋轉(zhuǎn) 7.5.2 通過(guò)四元數(shù)實(shí)現(xiàn)模型旋轉(zhuǎn) 7.6 使用文件模型的幾點(diǎn)提示 7.7 小結(jié) 第8章 深度測(cè)試與Alpha混合 8.1 深度測(cè)試 8.1.1 深度緩沖區(qū)與深度測(cè)試 8.1.2 使用深度測(cè)試 8.2 半透明物體的繪制 8.2.1 Alpha混合原理 8.2.2 利用Alpha混合實(shí)現(xiàn)半透明效果 8.2.3 Alpha混合系數(shù) 8.3 Alpha測(cè)試 8.3.1 Alpha測(cè)試原理 8.3.2 使用Alpha測(cè)試 8.4 小結(jié) 第9章 霧化 9.1 霧化效果實(shí)現(xiàn)原理 9.2 霧化混合因子計(jì)算方法 9.3 頂點(diǎn)霧化與像素霧化 9.3.1 頂點(diǎn)霧化與基于范圍的霧化 9.3.2 像素霧化和與眼相關(guān)深度霧化 9.4 為場(chǎng)景添加霧化效果 9.4.1 頂點(diǎn)霧化示例程序 9.4.2 像素霧化示例程序 9.4.3 基于范圍的霧化示例程序 9.5 對(duì)霧化效果的幾點(diǎn)說(shuō)明 9.6 小結(jié) 第10章 字體與文本顯示 10.1 二維文本繪制 10.2 三維文本繪制 10.3 小結(jié)第二部分 高級(jí)技術(shù)篇 第11章 應(yīng)用程序框架 11.1 生成一個(gè)Direct3D程序框架 11.2 使用Direct3D程序框架 11.3 Direct3D程序框架剖析 11.3.1 DXUT簡(jiǎn)介 11.3.2 初始化DXUT 11.3.3 DXUT框架與應(yīng)用程序窗口 11.3.4 DXUT框架與Direct3D設(shè)備 11.3.5 DXUT框架與消息循環(huán) 11.3.6 DXUT框架與錯(cuò)誤處理 11.3.7 通過(guò)DXUT選擇高級(jí)設(shè)備 11.3.8 其他DXUT函數(shù) 11.4 添加文本 11.4.1 初始化ID3DXSprite和ID3DXFont對(duì)象 11.4.2 繪制文本 11.4.3 處理鍵盤(pán)消息 11.5 添加控件 11.5.1 初始化對(duì)話(huà)框 11.5.2 渲染控件 11.5.3 處理控件消息 11.5.4 釋放對(duì)話(huà)框 11.6 小結(jié) 第12章 高級(jí)紋理技術(shù) 12.1 多層紋理映射 12.2 紋理階段混合操作 12.2.1 黑暗映射 12.2.2 黑暗貼圖動(dòng)畫(huà) 12.2.3 混合紋理與材質(zhì)漫反射顏色 12.2.4 混合黑暗貼圖與材質(zhì)漫反射顏色 12.2.5 發(fā)光映射 12.2.6 細(xì)節(jié)映射 12.2.7 Alpha混合操作 12.3 紋理坐標(biāo)處理 12.3.1 紋理坐標(biāo)自動(dòng)生成 12.3.2 紋理坐標(biāo)變換 12.4 環(huán)境紋理映射 12.4.1 立方體環(huán)境映射 12.4.2 球形環(huán)境映射 12.5 凹凸紋理映射 12.6 立體紋理 12.7 紋理壓縮 12.7.1 DXT紋理壓縮格式 12.7.2 使用DXT壓縮紋理 12.8 紋理管理 12.9 小結(jié) 第13章 網(wǎng)格模型高級(jí)技術(shù) 13.1 .X文件格式分析 13.1.1 首部 13.1.2 網(wǎng)格 13.1.3 網(wǎng)格材質(zhì)列表 13.1.4 法向量 13.1.5 紋理 13.1.6 框架和變換矩陣 13.1.7 動(dòng)畫(huà) 13.1.8 蒙皮信息 13.2 網(wǎng)格模型優(yōu)化 13.2.1 網(wǎng)格模型優(yōu)化函數(shù) 13.2.2 網(wǎng)格模型優(yōu)化方式 13.2.3 示例程序OptimizedMesh具體實(shí)現(xiàn) 13.3 層次細(xì)節(jié)網(wǎng)格模型 13.3.1 生成層次細(xì)節(jié)網(wǎng)格模型前的準(zhǔn)備工作 13.3.2 生成層次細(xì)節(jié)模型 13.3.3 示例程序ProgressMesh的具體實(shí)現(xiàn) 13.4 增強(qiáng)網(wǎng)格模型 13.4.1 增強(qiáng)網(wǎng)格模型的生成 13.4.2 示例程序EnhancedMesh的具體實(shí)現(xiàn) 13.5 漸變網(wǎng)格模型 13.5.1 實(shí)現(xiàn)漸變網(wǎng)格模型的準(zhǔn)備工作 13.5.2 生成漸變網(wǎng)格模型 13.5.3 渲染漸變網(wǎng)格模型 13.6 DXUT網(wǎng)格模型類(lèi) 13.6.1 CDXUTMesh類(lèi) 13.6.2 CDXUTMeshFrame類(lèi)和CDXUTMeshFile類(lèi) 13.6.3 使用類(lèi)CDXUTMesh和CDXUTMeshFile渲染網(wǎng)格模型 13.7 骨骼動(dòng)畫(huà)網(wǎng)格模型 13.7.1 骨骼動(dòng)畫(huà)基本原理 13.7.2 骨骼動(dòng)畫(huà)類(lèi)的設(shè)計(jì)與實(shí)現(xiàn) 13.7.3 骨骼動(dòng)畫(huà)類(lèi)的使用 13.8 蒙皮骨骼動(dòng)畫(huà)網(wǎng)格模型 13.8.1 圖形混合 13.8.2 索引頂點(diǎn)混合 13.8.3 頂點(diǎn)混合示例 13.8.4 蒙皮骨骼動(dòng)畫(huà)網(wǎng)格模型類(lèi)的設(shè)計(jì)與實(shí)現(xiàn) 13.8.5 蒙皮骨骼動(dòng)畫(huà)網(wǎng)格模型類(lèi)的使用 13.9 多骨骼動(dòng)畫(huà)網(wǎng)格模型 13.10 其他文件格式模型 13.11 小結(jié) 第14章 模板測(cè)試與模板緩沖區(qū) 14.1 模板測(cè)試 14.2 模板緩沖區(qū) 14.3 模板測(cè)試設(shè)置 14.4 使用模板測(cè)試實(shí)現(xiàn)特殊效果 14.5 實(shí)時(shí)陰影效果 14.6 小結(jié) 第15章 粒子系統(tǒng) 15.1 粒子系統(tǒng)技術(shù)簡(jiǎn)介 15.2 粒子系統(tǒng)基本原理 15.3 點(diǎn)精靈(point sprites) 15.4 粒子系統(tǒng)具體實(shí)現(xiàn) 15.5 綜合開(kāi)發(fā)實(shí)例 15.6 小結(jié)第三部分 GPU編程篇 第16章 Direct3D GPU編程概述 16.1 可編程流水線(xiàn) 16.2 頂點(diǎn)渲染 16.3 像素渲染 16.4 渲染語(yǔ)言 16.5 小結(jié) 第17章 高級(jí)渲染語(yǔ)言基礎(chǔ) 17.1 數(shù)據(jù)類(lèi)型 17.1.1 標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型 17.1.2 向量 17.1.3 矩陣 17.1.4 復(fù)雜數(shù)據(jù)類(lèi)型 17.2 表達(dá)式與運(yùn)算符 17.3 語(yǔ)句 17.3.1 語(yǔ)句塊 17.3.2 返回語(yǔ)句 17.3.3 流程控制語(yǔ)句 17.4 函數(shù) 17.5 段落 17.5.1 渲染器段落基本概念 17.5.2 渲染器段落語(yǔ)法 17.6 編寫(xiě)HLSL渲染器 17.6.1 添加文件 17.6.2 編寫(xiě)渲染器代碼 17.7 小結(jié) 第18章 HLSL頂點(diǎn)渲染 18.1 HLSL頂點(diǎn)渲染基本步驟 18.2 使用HLSL頂點(diǎn)渲染實(shí)現(xiàn)基本光照模型 18.2.1 環(huán)境光光照模型 18.2.2 漫反射光照模型 18.2.3 鏡面反射光照模型 18.3 小結(jié) 第19章 HLSL像素渲染 19.1 HLSL像素渲染基本步驟 19.2 使用HLSL實(shí)現(xiàn)基本紋理映射 19.3 渲染器的編譯與調(diào)試 19.3.1 渲染器的編譯 19.3.2 渲染器的調(diào)試 19.4 小結(jié) 第20章 效果(effect) 20.1 效果、技術(shù)與通道 20.1.1 效果和Direct3D流水線(xiàn) 20.1.2 保存和恢復(fù)狀態(tài) 20.1.3 共享參數(shù) 20.2 編寫(xiě)效果 20.3 使用效果 20.4 效果示例程序 20.4.1 光照計(jì)算 20.4.2 紋理映射 20.4.3 多技術(shù)效果 20.4.4 參數(shù)塊與共享參數(shù) 20.5 建立并渲染段落 20.5.1 從效果中建立并渲染段落 20.5.2 不通過(guò)效果建立并渲染段落 20.5.3 段落使用示例程序 20.6 小結(jié) 第21章 HLSL高級(jí)應(yīng)用 21.1 自身遮蔽陰影 21.2 凹凸紋理映射 21.3 立方體環(huán)境映射 21.3.1 立方體貼圖 21.3.2 反射環(huán)境映射 21.3.3 折射/反射環(huán)境映射 21.3.4 動(dòng)態(tài)折射/反射環(huán)境映射 21.4 漸變動(dòng)畫(huà) 21.5 蒙皮骨骼動(dòng)畫(huà) 21.6 小結(jié) 第22章 ASM頂點(diǎn)渲染 22.1 ASM頂點(diǎn)渲染基本步驟 22.2 頂點(diǎn)聲明對(duì)象 22.3 ASM頂點(diǎn)渲染簡(jiǎn)介 22.3.1 頂點(diǎn)渲染版本聲明 22.3.2 頂點(diǎn)渲染寄存器 22.3.3 頂點(diǎn)渲染指令 22.4 ASM頂點(diǎn)渲染示例 22.4.1 光照計(jì)算 22.4.2 漸變動(dòng)畫(huà) 22.4.3 蒙皮骨骼動(dòng)畫(huà) 22.5 小結(jié) 第23章 ASM像素渲染 23.1 ASM像素渲染基本步驟 23.2 ASM像素渲染簡(jiǎn)介 23.2.1 版本聲明 23.2.2 像素渲染寄存器 23.2.3 像素渲染指令 23.3 ASM像素渲染示例 23.4 使用效果 23.4.1 ASM效果 23.4.2 利用效果實(shí)現(xiàn)HLSL和ASM混合編程 23.5 小結(jié) 第四部分 實(shí)用技術(shù)篇 第24章 DXUT控件 24.1 DXUT控件介紹 24.2 DXUT控件使用示例程序 24.3 小結(jié) 第25章 廣告板技術(shù)與十字交叉紋理 25.1 廣告板技術(shù) 25.1.1 廣告板技術(shù)介紹 25.1.2 廣告板技術(shù)示例程序 25.2 十字交叉紋理 25.2.1 十字交叉紋理介紹 25.2.2 十字交叉紋理示例程序 25.3 小結(jié) 第26章 紋理動(dòng)畫(huà) 26.1 紋理動(dòng)畫(huà)原理 26.2 紋理動(dòng)畫(huà)示例程序 26.3 小結(jié) 第27章 自然現(xiàn)象模擬 27.1 動(dòng)態(tài)云彩效果模擬 27.2 雨景效果模擬 27.3 雪景效果模擬 27.4 小結(jié) 第28章 三維地形模擬 28.1 三維地形模擬概述 28.2 三維地形模擬示例程序 28.3 小結(jié) 第29章 海浪效果模擬 29.1 使用紋理貼圖實(shí)現(xiàn)海浪效果 29.2 實(shí)時(shí)生成海浪效果 29.3 小結(jié) 第30章 柔性物體模擬 30.1 柔性物體模擬介紹 30.2 粒子系統(tǒng)和彈簧結(jié)構(gòu) 30.3 定義并實(shí)現(xiàn)CFlutterFlag類(lèi) 30.4 示例程序的具體實(shí)現(xiàn) 30.5 小結(jié) 第31章 三維場(chǎng)景交互 31.1 使用鼠標(biāo)選擇三維場(chǎng)景中的物體 31.2 使用鼠標(biāo)控制三維場(chǎng)景中角色的運(yùn)動(dòng) 31.3 小結(jié) 第32章 運(yùn)動(dòng)模糊效果 32.1 運(yùn)動(dòng)模糊效果的基本原理 32.2 示例程序MotionBlur 32.3 小結(jié) 第33章 凹凸紋理映射應(yīng)用 33.1 水下效果模擬 33.2 水波效果模擬 33.3 小結(jié) 第34章 短毛發(fā)實(shí)時(shí)繪制 第35章 體積霧第五部分 附錄 附錄A C++基礎(chǔ)知識(shí) A.1 類(lèi)及其成員和封裝 A.2 繼承 A.3 this指針 A.4 虛函數(shù)、動(dòng)態(tài)綁定和多態(tài) A.5 雙指針 A.6 內(nèi)聯(lián)函數(shù) A.7 默認(rèn)函數(shù)參數(shù) A.8 聲明變量的位置 A.9 const常量表達(dá)式 A.10 函數(shù)重載 A.11 運(yùn)算符重載 附錄B Win32 API程序設(shè)計(jì)基礎(chǔ) B.1 API和SDK B.2 Win32程序框架 B.3 Win32 API程序框架分析 附錄C COM使用基礎(chǔ) C.1 什么是COM對(duì)象 C.2 創(chuàng)建一個(gè)COM對(duì)象 C.3 使用COM接口 C.4 管理COM對(duì)象的生命期 C.5 使用C訪(fǎng)問(wèn)COM對(duì)象 C.6 用宏調(diào)用DirectX COM方法 附錄D 計(jì)算機(jī)圖形學(xué)數(shù)學(xué)基礎(chǔ) D.1 坐標(biāo)參照系 D.2 點(diǎn)與向量 D.3 矩陣 D.4 四元數(shù) 附錄E 計(jì)算機(jī)圖形學(xué)基礎(chǔ) E.1 概述 E.1.1 計(jì)算機(jī)圖形學(xué)的概念 E.1.2 計(jì)算機(jī)圖形學(xué)的研究?jī)?nèi)容 E.2 圖形系統(tǒng)與圖形設(shè)備 E.2.1 圖形系統(tǒng) E.2.2 圖形設(shè)備 E.3 圖形變換 E.3.1 圖形的幾何變換 E.3.2 形體的投影變換 E.3.3 裁剪 E.3.4 窗口到視口的變換 附錄F DirectX SDK提供的各種工具使用說(shuō)明 F.1 DirectX瀏覽器 F.2 紋理轉(zhuǎn)換工具 F.3 DirectX紋理工具 F.4 DirectX性能瀏覽工具 F.5 DirectX錯(cuò)誤查詢(xún)工具 F.6 DirectX診斷工具 F.7 DirectX Ops(dxops.exe)
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
精通DirectX 3D圖形與動(dòng)畫(huà)程序設(shè)計(jì) PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版