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