出版時(shí)間:2009-1 出版社:清華大學(xué)出版社 作者:耿肇英 頁數(shù):383
Tag標(biāo)簽:無
前言
運(yùn)行于Windows操作系統(tǒng)的大部分3D游戲和圖形程序都是基于微軟公司DirectX開發(fā)的,以往開發(fā)DirectX程序主要使用C++語言。由于DirectX函數(shù)庫的使用十分復(fù)雜,所涉及的概念眾多,而且多都不容易理解,又加上C++語言學(xué)習(xí)難度較大,以及同內(nèi)適合初學(xué)者的有關(guān)DirectX程序設(shè)計(jì)書籍較少等原因,使用DirectX設(shè)汁3D游戲和圖形程序工作一商未能得到很好的普及。2002年微軟推出Managed DirectX(托管DirectX),支持C#語言丌發(fā)DirectX程序。2006午8月微軟發(fā)布XNA Game Studio ExpreSS,是微軟專門用于開發(fā)游戲的最新集成開發(fā)環(huán)境,是微軟人力發(fā)展的游戲開發(fā)平臺(tái)。Managed DirectX和XNA用類重新封裝了DirectX函數(shù)庫,比直接使用DirectX函數(shù)庫要容易得多。兩者都使用C#語言開發(fā),減少了學(xué)習(xí)編程語言的難度。使用C#語言編寫基于Managed Directx和XNA的3D游戲和圖形程序可以降低學(xué)習(xí)和開發(fā)難度,提高開發(fā)效率,使開發(fā)人員能寫更史安全的代碼?;贛anagedDirectX和XNA的3D游戲和圖形程序的運(yùn)行速度已很接近C++程序,一些商業(yè)游戲已經(jīng)使用Managed DirectX和xNA來創(chuàng)建。XNA編寫的3D游戲程序還呵運(yùn)行于微軟游戲機(jī)XBox 360。Managed DirectX和XNA的推出必將促進(jìn)3D游戲和圖形程序設(shè)計(jì)的普及。本書介紹使用C#語言開發(fā)基于Managed DirectX和XNA的3D游戲和圖形程序技術(shù),目的是使具有C語言基礎(chǔ)的讀者通過本書學(xué)習(xí),掌握使用C#語言開發(fā)3D圖形程序的基礎(chǔ),并能開發(fā)簡單的3D游戲程序。
內(nèi)容概要
使用C#語言可以編寫基于DirectX和微軟最新游戲開發(fā)平臺(tái)XNA(僅支持C#語言)的3D圖形和3D游戲程序,其運(yùn)行速度已接近于C++代碼的運(yùn)行速度,一些商業(yè)游戲已經(jīng)使用C#語言創(chuàng)建。用C#語言編寫3D圖形和3D游戲程序可以降低學(xué)習(xí)和開發(fā)難度,提高開發(fā)效率,使開發(fā)人員能寫出更安全的代碼。本書目的是使具有C語言基礎(chǔ)的讀者通過本書學(xué)習(xí),掌握用C#語言開發(fā)基于DirectX和XNA的3D圖形和3D游戲程序。本書采用實(shí)例驅(qū)動(dòng)的方式進(jìn)行講解,在例子中盡量避免羅列不相關(guān)的知識(shí)點(diǎn)和無關(guān)代碼,使例子代碼短小精悍,容易理解,書中全部例程均給出了詳細(xì)設(shè)計(jì)步驟,并對(duì)每一步代碼給出詳細(xì)解釋,讀者可按照書中步驟完成例子?! ”緯勺鳛閷W(xué)習(xí)用C#語言開發(fā)3D圖形和3D游戲程序的入門書,也可作為高校計(jì)算機(jī)及游戲等相關(guān)專業(yè)教師、研究生、本??茖W(xué)生的教材或參考書,對(duì)使用C#語言開發(fā)3D圖形和3D游戲程序的程序員也有很好的參考價(jià)值。
作者簡介
耿肇英,教授,1948年1月出生。1983年畢業(yè)于北方交通大學(xué)電信系,獲工學(xué)碩士學(xué)位。2000年晉升為教授?,F(xiàn)任河北師范大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院計(jì)算機(jī)科學(xué)系主任。耿肇英教授目前主要從事智能儀器與虛擬儀器的研究工作。在《計(jì)算機(jī)科學(xué)》等國內(nèi)外學(xué)術(shù)刊物上發(fā)表學(xué)術(shù)論文20余篇。1993年《動(dòng)態(tài)智能心電監(jiān)護(hù)儀》獲河北省人民政府生產(chǎn)辦公室河北新產(chǎn)品獎(jiǎng),1998年《智能遠(yuǎn)程心電監(jiān)控裝置》獲國家專利,《SDA—1型微機(jī)實(shí)驗(yàn)系統(tǒng)》獲全國普通高等工業(yè)學(xué)校CAI協(xié)作組優(yōu)秀CAI軟件三等獎(jiǎng)。目前承擔(dān)著三項(xiàng)橫向研究課題。
書籍目錄
第1章 Managed DirectX和XNA 1.1 DirectX 1.2 Managed DirectX 1.3 XNA簡介 1.4 .NET Framework 1.5 事件驅(qū)動(dòng) 1.6 Windows應(yīng)用程序框架 1.7 可視化程序設(shè)計(jì) 1.8 解決方案和項(xiàng)目 1.9 鍵盤事件 1.10 事件處理函數(shù)參數(shù) 1.11 鼠標(biāo)事件 1.12 窗體的Paint事件 1.13 常用結(jié)構(gòu)第2章 3D圖形的數(shù)學(xué)基礎(chǔ) 2.1 3D坐標(biāo)系統(tǒng)和坐標(biāo) 2.2 向量 2.3 矩陣和Matrix結(jié)構(gòu) 2.4 仿射矩陣 2.5 Matrix結(jié)構(gòu)表示3D變換矩陣第3章 Direct 3D程序框架 3.1 圖形卡和GPU 3.2 Device類 3.3 3D程序基小框架 3.4 從基小框架創(chuàng)建項(xiàng)目 3.5 Transformed Colored結(jié)構(gòu) 3.6 繪制靜止三角形 3.7 繪制點(diǎn)、線和三角形 3.8 VertexBuffer類 3.9 繪制靜止立方體 3.10 背面剔除 3.11 在基本框架中使用控件第4章 Direct 3D圖形原理 4.1 世界、觀察和投影變換 4.2 Position Colored結(jié)構(gòu) 4.3 顯示三角形 4.4 使三角形旋轉(zhuǎn) 4.5 三角形連續(xù)旋轉(zhuǎn) 4.6 顯示立方體 4.7 從不同位置觀察立方體 4.8 使用頂點(diǎn)索引繪制立方體 4.9 模擬地板和墻壁 4.10 旋轉(zhuǎn)的卒心圓柱 4.11 復(fù)雜的變換關(guān)系第5章 燈光和材質(zhì) 5.1 燈光 5.2 材質(zhì)和Material結(jié)構(gòu) 5.3 PostionNormal結(jié)構(gòu)和法線 5.4 定向光源照亮三角形 5.5 定向光源照亮立方體 5.6 定向光源照亮卒心圓柱 5.7 點(diǎn)光源 5.8 聚光燈光源 5.9 各種光源照射到地板上 5.10 鏡面高光 5.11 材質(zhì)屬性Emissivre第6章 紋理 6.1 紋理圖案和坐標(biāo) 6.2 包含紋理坐標(biāo)的頂點(diǎn)結(jié)構(gòu) 6.3 為墻壁增加紋理 6.4 紋理尋址模式 6.5 光照三角形增加紋理 6.6 為立方體增加紋理 6.7 為空心圓柱增加紋理 6.8 添加背景 6.9 紋理濾波器 6.10 多層紋理 6.11 多級(jí)漸進(jìn)紋理濾波第7章 Mesh類 7.1 Mesh類預(yù)定義的幾何體 7.2 顯示茶壺 7.3 改變觀察點(diǎn)和旋轉(zhuǎn)茶壺 7.4 增加多個(gè)茶壺 7.5 克隆mesh實(shí)現(xiàn)紋理 7.6 3D字體 7.7 顯示.x文件中的3D圖形 7.8 地形圖 7.9 Mesh的優(yōu)化 7.10 Mesh的簡化 7.11 Progressive Mesh類 7.12 將3ds MaX文件轉(zhuǎn)換為.x文件第8章 透明效果和霧化 8.1 深度測試 8.2 透明物體的繪制原理 8.3 頂點(diǎn)顏色透明 8.4 材質(zhì)顏色透明 8.5 紋理透明 8.6 有紋理的透明立方休 8.7 多個(gè)透明體 8.8 霧化 8.9 頂點(diǎn)霧化 8.10 像素霧化 8.11 基于范圍的霧化第9章 其他特殊效果 9.1 倒影 9.2 使用TextureFactor來設(shè)置頂點(diǎn)顏色 9.3 陰影 9.4 后視鏡 9.5 廣告牌技術(shù) 9.6 模板測試第10章 可編程流水線入門 10.1 可編程流水線的基本概念 10.2 HLSL基礎(chǔ) 10.3 fx文件 10.4 Effect類 10.5 使用HLSL程序基本框架 10.6 簡單HLSL渲染 10.7 HLSL光照模型 10.8 HLSL表示環(huán)境光 10.9 HLSL定向光源漫反射光 10.10 HLSL表示鏡面高光 10.11 紋理渲染 10.12 effect編輯器的使用第11章 移植到XNA游戲框架 11.1 XNA暴本框架 11.2 Basic Effect類 11.3 鍵盤 11.4 用頂點(diǎn)索引繪制圖形 11.5 燈光 11.6 紋理 11.7 .x和.fbx文件 11.8 HLSL 11.9 SpriteBatch類 11.10 輸出字符串 11.11 鼠標(biāo)及按鈕實(shí)現(xiàn)第12章 XNA透明效果和霧化 12.1 深度測試 12.2 將頂點(diǎn)顏色設(shè)置為透明 12.3 將材質(zhì)顏色設(shè)置為透明 12.4 紋理透明 12.5 像素霧化第13章 XNA特殊效果 13.1 倒影 13.2 陰影 13.3 廣告牌技術(shù) 13.4 模板測試 13.5 后視鏡 13.6 聲音第14章 用XNA實(shí)現(xiàn)粒子系統(tǒng) 14.1 Point Sprite 14.2 描述粒子的結(jié)構(gòu) 14.3 粒子系統(tǒng)原理 14.4 粒子系統(tǒng)類 14.5 模擬曳光彈 14.6 模擬爆炸 14.7 模擬雪景 14.8 HLSL粒子系統(tǒng) 14.9 SpriteBatch粒子系統(tǒng)第15章 XNA實(shí)現(xiàn)階層動(dòng)畫 15.1 常用的動(dòng)畫技術(shù) 15.2 階層關(guān)系 15.3 .x文件格式分析 15.4 顯示有階層關(guān)系的.x文件 15.5 逼真的坦克 15.6 蒙皮骨骼動(dòng)畫第16章 XNA游戲?qū)嵗?6.1 顯示一輛汽車 16.2 汽車停在公路上 16.3 汽車在公路上行駛 16.4 汽車左右移動(dòng) 16.5 在公路上增加障礙物 16.6 汽車是否碰到障礙物 16.7 完成游戲附錄 C#語言入門
章節(jié)摘錄
插圖:第1章 Managed DirectX和XNA本章首先介紹DirectX、Managed DirectX和XNA有關(guān)知識(shí),然后詳細(xì)解釋用C#語言設(shè)計(jì)3D程序時(shí)所用到但一般教科書又很少講到的重要概念,最后列出C#語言3D程序設(shè)計(jì)中用到的一些結(jié)構(gòu)。本書認(rèn)為讀者已經(jīng)掌握了C#語言基本語法,并能夠使用微軟VisualC#2005速成版(簡稱VS 2005)編寫Windows應(yīng)用程序。如果讀者不具備這方面的技能,請(qǐng)先閱讀附錄,掌握最基本的C#語言語法,然后再學(xué)習(xí)本章,學(xué)習(xí)事件驅(qū)動(dòng)有關(guān)概念和用VS 2005編寫Windows應(yīng)用程序的最基本步驟,為學(xué)習(xí)用C#語言編寫Direct 3D和XNA程序提供必要的基礎(chǔ)。當(dāng)然,僅靠這些內(nèi)容就完全掌握C#語言是不可能的,如需進(jìn)一步學(xué)習(xí)C#語言,還需要閱讀C#語言的專著。如果讀者對(duì)這方面的內(nèi)容比較熟悉,也可跳過本章1.4節(jié)以后的內(nèi)容,直接閱讀第2章。
編輯推薦
《Direct 3D和XNA游戲開發(fā)基礎(chǔ)(C#語言版)》可作為學(xué)習(xí)用C#語言開發(fā)3D圖形和3D游戲程序的入門書,也可作為高校計(jì)算機(jī)及游戲等相關(guān)專業(yè)教師、研究生、本??茖W(xué)生的教材或參考書,對(duì)使用C#語言開發(fā)3D圖形和3D游戲程序的程序員也有很好的參考價(jià)值。XNA+C#新一代游戲開發(fā)利器,采用實(shí)例教學(xué)法,在講清基本知識(shí)點(diǎn)的基礎(chǔ)上,借助于豐富的實(shí)例加以說明,涵蓋關(guān)鍵知識(shí)點(diǎn),提供短小精悍的范例代碼,并輔之以詳細(xì)設(shè)計(jì)步驟和解釋。隨著游戲產(chǎn)業(yè)的迅猛發(fā)展,快速、高效地開發(fā)出精彩的3D游戲已經(jīng)成為眾多游戲開發(fā)企業(yè)的終極夢想。從DirectX到XNA,借助于C#的優(yōu)勢,具體的實(shí)現(xiàn)細(xì)節(jié)被封裝,游戲開發(fā)變得不再神秘,所以不管是游戲開發(fā)新手,還是具有C/C++基礎(chǔ)的高級(jí)程序員,都能輕松開發(fā)出優(yōu)秀的游戲軟件。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
Direct 3D和XNA游戲開發(fā)基礎(chǔ) PDF格式下載