出版時間:2012-6 出版社:人民郵電出版社 作者:楊關(guān)勝,栗俊霞 編著 頁數(shù):419 字?jǐn)?shù):798000
Tag標(biāo)簽:無
內(nèi)容概要
本書系統(tǒng)全面地介紹了XNA 游戲程序設(shè)計(jì)的相關(guān)內(nèi)容。全書共分5部分。第一部分從安裝XNA Game
Studio,創(chuàng)建最簡單的XNA程序開始,介紹了XNA游戲程序設(shè)計(jì)的基礎(chǔ)。第二部分從介紹網(wǎng)格模型文件的格式、剖析三維網(wǎng)格模型的層層架構(gòu)開始,由淺入深、詳細(xì)地介紹了XNA加載不同類型網(wǎng)格模型,播放模型動畫的方法以及交互技術(shù)。第三部分介紹了使用XNA進(jìn)行游戲程序設(shè)計(jì)的3項(xiàng)非圖形類關(guān)鍵技術(shù):聲音與視頻、網(wǎng)絡(luò)、游戲數(shù)據(jù)的存儲與加載。第四部分介紹了其他圖形類或與圖形相關(guān)的關(guān)鍵技術(shù),包括粒子系統(tǒng)、地形、碰撞探測、后處理、廣告板、環(huán)境映射、霧化、光暈等。第五部分通過將三維地形、網(wǎng)格模型、骨骼動畫、地形匹配、第一人稱取景變換、鼠標(biāo)/鍵盤交互、粒子系統(tǒng)、碰撞探測、二維字體等多項(xiàng)技術(shù)統(tǒng)籌起來,實(shí)現(xiàn)了一個完整的山地防御戰(zhàn)斗小游戲,通過該游戲介紹了使用XNA開發(fā)游戲的全過程。
《精通XNA圖形與游戲程序設(shè)計(jì)》配套光盤提供了書中所有示例程序的可執(zhí)行文件、工程文件和完整源代碼,以方便讀者編譯、調(diào)試示例程序。
《精通XNA圖形與游戲程序設(shè)計(jì)》主要面向XNA游戲程序開發(fā)人員、圖形程序設(shè)計(jì)者以及可視化仿真工程技術(shù)人員,也可作為高等院校相關(guān)專業(yè)或培訓(xùn)機(jī)構(gòu)的XNA程序設(shè)計(jì)教科書。
書籍目錄
第一部分 基礎(chǔ)篇
第1章 XNA概述與簡介
第2章 二維圖形與字體
第3章 三維圖形基礎(chǔ)
第4章 HLSL語言與效果
第5章 光照與材質(zhì)
第6章 紋理
第二部分 XNA開發(fā)核心技術(shù)
第7章 網(wǎng)格模型
第8章 交互
第三部分 游戲開發(fā)核心技術(shù)
第9章 聲音與視頻播放
第10章 網(wǎng)絡(luò)
第11章 游戲數(shù)據(jù)的存儲與加載
第四部分 圖形開發(fā)技術(shù)
第12章 粒子系統(tǒng)
第13章 地形
第14章 碰撞探測
第15章 后處理
第16章 其他簡易實(shí)用技術(shù)
第五部分 三維開發(fā)技術(shù)
第17章 綜合應(yīng)用
章節(jié)摘錄
版權(quán)頁: 插圖: 此后,微軟相繼發(fā)布了XNA 2.0,XNA 3.0。撰寫本書時,微軟剛剛發(fā)布了XNA 3.1,所以本書中的所有示例程序都是3.1版本的。 1.2 XNA的優(yōu)勢 看到圖1-1,誰都會不由自主地想到:“XNA有可能是DirectX的繼任者。”如果把DirectX的發(fā)展史和XNA的發(fā)展史結(jié)合起來看,這種感覺就會更加強(qiáng)烈。從DirectX9開始,微軟發(fā)布Managed DirectX,可在.NET環(huán)境下開發(fā)DirectX程序,其SDK(softwane Pevelopment Kit)示例程序就是使用C#編寫的。但是,Managed DirectX在發(fā)布了2.0β版之后,又返回到Managed DirectX 1.0版,直到2007年底,微軟發(fā)布DirectX的時候則完全去掉了Managed DirectX。毫無疑問,微軟就是計(jì)劃用XNA取代ManagedDirectX,這是因?yàn)閄NA比Managed DirectX和DirectX有著不可估量的優(yōu)越性。 首先,XNA運(yùn)行在.NET環(huán)境下。在.NET技術(shù)日趨盛行的今天,這是DirectX可望而不可及的。XNA在.NET環(huán)境下,使用C#語言進(jìn)行游戲開發(fā)或仿真程序設(shè)計(jì),不僅大大提高了程序的開發(fā)效率,同時也使得游戲開發(fā)變得更加人性化。當(dāng)然,XNA運(yùn)行在.NET環(huán)境下,使用它開發(fā)的游戲軟件與使用DirectX開發(fā)的游戲軟件相比,會有1%~2%的執(zhí)行效能損失,但與DirectX的程序開發(fā)效率相比,這顯然不值一提。 其次,集大成。在DirectX中,圖形程序設(shè)計(jì)通過Direct3D來實(shí)現(xiàn),聲音效果通過DirectSound或DirectMusic來實(shí)現(xiàn),對于輸入設(shè)備的支持和響應(yīng)需要Directlnput提供,網(wǎng)絡(luò)編程還需要DirectPlay,把一個完整游戲項(xiàng)目的開發(fā)割裂成多塊去看待,不免有點(diǎn)形而上學(xué)的味道,在實(shí)際編程過程中勢必帶來兼容與否、執(zhí)行效能損失等問題。而XNA則將上述所有功能都集為一體,運(yùn)行它,既可以進(jìn)行2D或3D圖形程序設(shè)計(jì),也能添加聲音效果;既提供了對所有輸入設(shè)備的支持,也提供了網(wǎng)絡(luò)編程等多種功能,區(qū)別僅僅是使用不同的動態(tài)庫。 再次,使用可編程流水線。圖形程序設(shè)計(jì)將逐漸從固定函數(shù)流水線轉(zhuǎn)向可編程流水線,這已是大勢所趨。微軟在推出Direct3D 9時,實(shí)行固定函數(shù)流水線和可編程流水線雙管齊下,而從Direct3D 10開始,去掉了固定函數(shù)流水線,只保留了可編程流水線。Direct3D 10只能運(yùn)行在Windows Vista操作系統(tǒng)下。而XNA則不然,既支持可編程流水線,又可以運(yùn)行在多種操作系統(tǒng)下,包括Windows XP。通過可編程流水線,XNA能夠?qū)γ恳粋€頂點(diǎn)和像素實(shí)現(xiàn)“為所欲為”的操作,大大提高了圖形編程的靈活度。同時,XNA還提供了BasicEffect、BasicDirectionalLight、BasicMaterialContent等類,實(shí)現(xiàn)了類似于固定函數(shù)流水線的編程模式,既可以為初學(xué)者降低門檻,也可以實(shí)現(xiàn)一些比較簡單的圖形渲染。 最后,通過素材管線(ContentPipeline)加載資源。這可以說是XNA與DirectX或OpenGL最明顯的區(qū)別。在XNA中,對于圖片、聲音、模型文件或者可編程流水線渲染代碼等游戲資源的加載,不再使用函數(shù)調(diào)用的方式,而是針對不同的資源,提供了專門的素材管線,所以對于簡單資源的加載,只需將資源復(fù)制到指定目錄下,然后從項(xiàng)目中添加該資源,并設(shè)置其相關(guān)屬性就可以了,并且XNA往往會自動完成這些屬性設(shè)置,所以大大降低了加載資源的難度。與此同時,程序員還可以繼承XNA提供的素材管線類,創(chuàng)建自己的素材管線,實(shí)現(xiàn)在加載資源的同時,修改資源,從而獲取自己想要得到的游戲資源。也就是說XNA從第一步加載資源開始,就留給了程序員更大的發(fā)展空間,更進(jìn)一步提高了編程的靈活度。素材管線的更多內(nèi)容,將在后續(xù)章節(jié)詳細(xì)介紹。 除此之外,XNA還有更多留在下文以及實(shí)際編程過程中發(fā)掘和體會的優(yōu)勢,這里就不再贅述了。
編輯推薦
入門容易 對難點(diǎn)詳盡解讀,增加學(xué)習(xí)信心突出重點(diǎn) 深入介紹網(wǎng)絡(luò)模型和交互技術(shù)實(shí)用至上 具體內(nèi)容聯(lián)系示例程序,精心設(shè)計(jì)
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
精通XNA圖形與游戲程序設(shè)計(jì) PDF格式下載