Direct 3D和XNA游戲開發(fā)基礎(chǔ)

出版時間:2009-1  出版社:清華大學(xué)出版社  作者:耿肇英  頁數(shù):383  
Tag標(biāo)簽:無  

前言

運行于Windows操作系統(tǒng)的大部分3D游戲和圖形程序都是基于微軟公司DirectX開發(fā)的,以往開發(fā)DirectX程序主要使用C++語言。由于DirectX函數(shù)庫的使用十分復(fù)雜,所涉及的概念眾多,而且多都不容易理解,又加上C++語言學(xué)習(xí)難度較大,以及同內(nèi)適合初學(xué)者的有關(guān)DirectX程序設(shè)計書籍較少等原因,使用DirectX設(shè)汁3D游戲和圖形程序工作一商未能得到很好的普及。2002年微軟推出Managed DirectX(托管DirectX),支持C#語言丌發(fā)DirectX程序。2006午8月微軟發(fā)布XNA Game Studio ExpreSS,是微軟專門用于開發(fā)游戲的最新集成開發(fā)環(huán)境,是微軟人力發(fā)展的游戲開發(fā)平臺。Managed DirectX和XNA用類重新封裝了DirectX函數(shù)庫,比直接使用DirectX函數(shù)庫要容易得多。兩者都使用C#語言開發(fā),減少了學(xué)習(xí)編程語言的難度。使用C#語言編寫基于Managed Directx和XNA的3D游戲和圖形程序可以降低學(xué)習(xí)和開發(fā)難度,提高開發(fā)效率,使開發(fā)人員能寫更史安全的代碼?;贛anagedDirectX和XNA的3D游戲和圖形程序的運行速度已很接近C++程序,一些商業(yè)游戲已經(jīng)使用Managed DirectX和xNA來創(chuàng)建。XNA編寫的3D游戲程序還呵運行于微軟游戲機XBox 360。Managed DirectX和XNA的推出必將促進(jìn)3D游戲和圖形程序設(shè)計的普及。本書介紹使用C#語言開發(fā)基于Managed DirectX和XNA的3D游戲和圖形程序技術(shù),目的是使具有C語言基礎(chǔ)的讀者通過本書學(xué)習(xí),掌握使用C#語言開發(fā)3D圖形程序的基礎(chǔ),并能開發(fā)簡單的3D游戲程序。

內(nèi)容概要

  使用C#語言可以編寫基于DirectX和微軟最新游戲開發(fā)平臺XNA(僅支持C#語言)的3D圖形和3D游戲程序,其運行速度已接近于C++代碼的運行速度,一些商業(yè)游戲已經(jīng)使用C#語言創(chuàng)建。用C#語言編寫3D圖形和3D游戲程序可以降低學(xué)習(xí)和開發(fā)難度,提高開發(fā)效率,使開發(fā)人員能寫出更安全的代碼。本書目的是使具有C語言基礎(chǔ)的讀者通過本書學(xué)習(xí),掌握用C#語言開發(fā)基于DirectX和XNA的3D圖形和3D游戲程序。本書采用實例驅(qū)動的方式進(jìn)行講解,在例子中盡量避免羅列不相關(guān)的知識點和無關(guān)代碼,使例子代碼短小精悍,容易理解,書中全部例程均給出了詳細(xì)設(shè)計步驟,并對每一步代碼給出詳細(xì)解釋,讀者可按照書中步驟完成例子?! ”緯勺鳛閷W(xué)習(xí)用C#語言開發(fā)3D圖形和3D游戲程序的入門書,也可作為高校計算機及游戲等相關(guān)專業(yè)教師、研究生、本??茖W(xué)生的教材或參考書,對使用C#語言開發(fā)3D圖形和3D游戲程序的程序員也有很好的參考價值。

作者簡介

耿肇英,教授,1948年1月出生。1983年畢業(yè)于北方交通大學(xué)電信系,獲工學(xué)碩士學(xué)位。2000年晉升為教授?,F(xiàn)任河北師范大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院計算機科學(xué)系主任。耿肇英教授目前主要從事智能儀器與虛擬儀器的研究工作。在《計算機科學(xué)》等國內(nèi)外學(xué)術(shù)刊物上發(fā)表學(xué)術(shù)論文20余篇。1993年《動態(tài)智能心電監(jiān)護(hù)儀》獲河北省人民政府生產(chǎn)辦公室河北新產(chǎn)品獎,1998年《智能遠(yuǎn)程心電監(jiān)控裝置》獲國家專利,《SDA—1型微機實驗系統(tǒng)》獲全國普通高等工業(yè)學(xué)校CAI協(xié)作組優(yōu)秀CAI軟件三等獎。目前承擔(dān)著三項橫向研究課題。

書籍目錄

第1章  Managed DirectX和XNA 1.1  DirectX 1.2  Managed DirectX 1.3 XNA簡介 1.4  .NET Framework 1.5  事件驅(qū)動 1.6 Windows應(yīng)用程序框架 1.7 可視化程序設(shè)計 1.8 解決方案和項目 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)建項目 3.5 Transformed Colored結(jié)構(gòu) 3.6 繪制靜止三角形 3.7 繪制點、線和三角形 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 使用頂點索引繪制立方體 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  點光源 5.8 聚光燈光源 5.9 各種光源照射到地板上 5.10 鏡面高光 5.11  材質(zhì)屬性Emissivre第6章 紋理 6.1 紋理圖案和坐標(biāo) 6.2 包含紋理坐標(biāo)的頂點結(jié)構(gòu) 6.3 為墻壁增加紋理  6.4 紋理尋址模式  6.5 光照三角形增加紋理  6.6 為立方體增加紋理  6.7 為空心圓柱增加紋理  6.8 添加背景  6.9 紋理濾波器  6.10 多層紋理  6.11  多級漸進(jìn)紋理濾波第7章 Mesh類 7.1 Mesh類預(yù)定義的幾何體 7.2  顯示茶壺 7.3 改變觀察點和旋轉(zhuǎn)茶壺 7.4 增加多個茶壺 7.5 克隆mesh實現(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 頂點顏色透明 8.4 材質(zhì)顏色透明 8.5 紋理透明 8.6 有紋理的透明立方休 8.7 多個透明體 8.8  霧化 8.9  頂點霧化 8.10 像素霧化 8.11 基于范圍的霧化第9章 其他特殊效果 9.1  倒影 9.2  使用TextureFactor來設(shè)置頂點顏色 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  用頂點索引繪制圖形 11.5  燈光 11.6  紋理 11.7  .x和.fbx文件 11.8  HLSL 11.9  SpriteBatch類 11.10  輸出字符串 11.11  鼠標(biāo)及按鈕實現(xiàn)第12章  XNA透明效果和霧化 12.1  深度測試 12.2  將頂點顏色設(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實現(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實現(xiàn)階層動畫 15.1 常用的動畫技術(shù) 15.2  階層關(guān)系 15.3 .x文件格式分析 15.4  顯示有階層關(guān)系的.x文件 15.5 逼真的坦克 15.6 蒙皮骨骼動畫第16章 XNA游戲?qū)嵗?6.1 顯示一輛汽車 16.2 汽車停在公路上 16.3 汽車在公路上行駛 16.4 汽車左右移動 16.5 在公路上增加障礙物 16.6 汽車是否碰到障礙物 16.7  完成游戲附錄 C#語言入門

章節(jié)摘錄

插圖:第1章 Managed DirectX和XNA本章首先介紹DirectX、Managed DirectX和XNA有關(guān)知識,然后詳細(xì)解釋用C#語言設(shè)計3D程序時所用到但一般教科書又很少講到的重要概念,最后列出C#語言3D程序設(shè)計中用到的一些結(jié)構(gòu)。本書認(rèn)為讀者已經(jīng)掌握了C#語言基本語法,并能夠使用微軟VisualC#2005速成版(簡稱VS 2005)編寫Windows應(yīng)用程序。如果讀者不具備這方面的技能,請先閱讀附錄,掌握最基本的C#語言語法,然后再學(xué)習(xí)本章,學(xué)習(xí)事件驅(qū)動有關(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#語言的專著。如果讀者對這方面的內(nèi)容比較熟悉,也可跳過本章1.4節(jié)以后的內(nèi)容,直接閱讀第2章。

編輯推薦

《Direct 3D和XNA游戲開發(fā)基礎(chǔ)(C#語言版)》可作為學(xué)習(xí)用C#語言開發(fā)3D圖形和3D游戲程序的入門書,也可作為高校計算機及游戲等相關(guān)專業(yè)教師、研究生、本??茖W(xué)生的教材或參考書,對使用C#語言開發(fā)3D圖形和3D游戲程序的程序員也有很好的參考價值。XNA+C#新一代游戲開發(fā)利器,采用實例教學(xué)法,在講清基本知識點的基礎(chǔ)上,借助于豐富的實例加以說明,涵蓋關(guān)鍵知識點,提供短小精悍的范例代碼,并輔之以詳細(xì)設(shè)計步驟和解釋。隨著游戲產(chǎn)業(yè)的迅猛發(fā)展,快速、高效地開發(fā)出精彩的3D游戲已經(jīng)成為眾多游戲開發(fā)企業(yè)的終極夢想。從DirectX到XNA,借助于C#的優(yōu)勢,具體的實現(xiàn)細(xì)節(jié)被封裝,游戲開發(fā)變得不再神秘,所以不管是游戲開發(fā)新手,還是具有C/C++基礎(chǔ)的高級程序員,都能輕松開發(fā)出優(yōu)秀的游戲軟件。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Direct 3D和XNA游戲開發(fā)基礎(chǔ) PDF格式下載


用戶評論 (總計66條)

 
 

  •   Direct 3D與XNA游戲開發(fā)基礎(chǔ)是本很好的入門書籍,對于初學(xué)者來說非常好的一本書,就是需要些C#基礎(chǔ)
  •   看了第一章。。貌似說的是廢話第二章看了少部分。。介紹了XNA的類。。。這樣也不錯先了解類的功能再深入應(yīng)該是游戲初學(xué)者的好書我就是喜歡游戲確走了別的方向
  •   很好的C#游戲開發(fā)
  •   書中有些圖形的基礎(chǔ)知識。由淺入深。唯一的缺點就是版本太老。跟不上現(xiàn)在的類庫形勢。xna3.0更新比較大一些。不過,看完這本書,然后再使用微軟的msdn很快就可以上手了。
  •   原來對游戲編程一竅不通,只從看了這本書后,嘿,會編游戲了,yeah----游戲入門精品
  •   代朋友買的,因為是游戲公司
  •   曾經(jīng)在豆瓣上看到有人評價這本書為“一個蹩腳的模仿秀”。呵呵~~ 此人想必是高手~~
    作為一個初學(xué)者,我感覺這本書講的還是相當(dāng)不錯的。
    在《龍書》之前,還看過一本有關(guān)3D的書,名字已經(jīng)忘記了,是綠皮的。那本書如果初學(xué)時期看的話,才真的是“誤入歧途”。里面很多的概念作者講的都含混不清。之后開始用《龍書》和這本書雙線學(xué)習(xí),可能是國產(chǎn)書籍比較符合國人的思路,之前很多細(xì)小的疑問我都是從這本書中得到解答的。
    總之,如果是秉持DirectX C++和C#雙向?qū)W習(xí)路線的話,《龍書》之外,個人認(rèn)為這本書還是可以當(dāng)?shù)谩安欢x”這四個字的。
  •   內(nèi)容雖然不怎么詳實,但很實用,有C#基礎(chǔ)的可以參考一下,不怎么難
  •   國人寫的,建議和dx龍書一起看
  •   不錯,看了下,是入門的好書,可惜講得太少了。比較薄
  •   沒有缺頁或損壞,內(nèi)容很基礎(chǔ)。
  •   這本書不錯,是入門的好書
  •   這本書講的還是不錯的,淺顯易懂
  •   書還可以,我以為是精裝的呢,其實就是普通簡裝的。。。
  •   還沒看,還沒買的同志推薦先買龍書看
  •   對于想入門的人看挺不錯的!
  •   挺好的,很實用,很實惠.
  •   物流也很好
  •   幫同事買的..
  •   這本書真的很不錯,講解配有實例,很不錯,比我們的課本強多啦
  •   只適合WINDOWS XNA開發(fā),內(nèi)容還可以,本原來購買是為了看是否有WP7的內(nèi)容,里頭不合適WP7,望有此意向的書友注意
  •   跟之前的DX系統(tǒng)差不多,還是講的全是基礎(chǔ)原理,而且沒有2D基礎(chǔ)帶動,建議想看實例的還是看XNA4.0學(xué)習(xí)指南。書還沒出版,但是有PDF中文版的,翻譯得很不錯
  •   本書采用的XNA版本為1.0內(nèi)容比較陳舊但是內(nèi)容比較基礎(chǔ)易懂適合初學(xué)者
  •   xna方面不錯的入門書籍.努力學(xué)習(xí)中...
  •   我買了書后.在網(wǎng)上看到了,微軟不支持XNA了..暈了..只能學(xué)DX了..
  •   比較基礎(chǔ),適合初學(xué)者,XNA的圖書似乎只有這么一本,所以沒得選擇
  •   想了解xna可以看看
  •   我沒有搞過Direct3D開發(fā),本書入門不錯
  •   發(fā)貨速度有點慢,從上海發(fā)貨,我就在上海,還是用了兩天,包裝太簡陋了,感覺書放了一段時間了,估計是存儲的時候不注意。
    買書之前已經(jīng)大致的了解書的內(nèi)容了,不錯,挺適合我的
  •   挺基礎(chǔ)的,不過有的地方講的有點重復(fù)!
  •   正在閱讀中,目前感受是:作為入門書籍講的比較細(xì)致,全面。廢話很少,不過感覺整體結(jié)構(gòu)不是太好,但作為入門書籍還是推薦!
  •   這本書不錯,作為初級看看學(xué)習(xí)下還是很可以的.各個方面都涉及到了.
  •   書不錯,送貨也很快,贊一個
  •   入門比較不錯。
  •   有點難度,需要有編程經(jīng)驗
  •   這本書對我這樣的出學(xué)者很有用
  •   還好~~,發(fā)貨很快
  •   一下買了幾本DirectX 3D編程的書,發(fā)現(xiàn)本書一般般。首先本書提供的網(wǎng)站還沒有書的代碼可以下載,書是第二版了,不知道編者的代碼寫完了沒有。其次,編者注重的是國內(nèi)沒有XNA方面和c#游戲編程的書,用書名吸引眼球。第三,書的內(nèi)容有些拼湊,正如序言所說“時間倉促,水平有限”,自封為“游戲軟件開發(fā)專家系列”,有些高。如果沒有別的書,這本書還是比較適合初學(xué)者學(xué)習(xí)的,書的前部都是在介紹driect3D的基礎(chǔ),適合游戲編程入門...
  •   今天書收到了,比較薄,雖然說是國內(nèi)第一本XNA方面的書,在c#游戲編程方面也是很辛苦才找到這一本的,第一時間入手,但顯然對比書里的內(nèi)容來說定價有些高,而且官網(wǎng)上還沒有書的代碼下載,不知道以后有沒有,這本書還是比較適合初學(xué)者學(xué)習(xí)的,前面都是在介紹driect3D的基礎(chǔ),總的來說,這是一本入門級游戲編程書...
  •   我用vs2010裝了XNA4.0沒法按照書中所說的那么開發(fā),開發(fā)套件什么的都改變了
  •   學(xué)習(xí)XNA入門還可以。。
  •   有點別扭,還不如直接講XNA呢
  •   文字的例子都比較簡陋,涉及到重要的地方都沒有非常仔細(xì)的講解,純屬趕出來的作品。代碼也不提供光盤之類的。
  •   ManagerDirectX微軟都不做了,本書居然還用了2/3的篇幅來介紹國內(nèi)也沒的選了,將就看吧
  •   內(nèi)容還不錯,就是真的太基礎(chǔ)了
  •   用來入門
  •   還講多點就好了。
  •   一般,而且重復(fù)的段落比較多....難道說是湊字?
    還是,看XNARecipes3吧
  •   內(nèi)容還可以,比較適合初學(xué)者
  •   沒有什么深度,適合初學(xué)者
  •   不推薦,XNA的內(nèi)容需要再挖掘,講C#語言入門完全是浪費紙張。書中的例子非常粗陋,最后一個賽車Demo也太簡單了不吸引人,全書看過沒有發(fā)現(xiàn)什么精彩的地方。希望喜歡游戲編程的網(wǎng)友買書前要多考慮,學(xué)游戲還是多看看國外譯的書籍。
  •   1、沒有系統(tǒng)性,東拼西湊;2、知識點語焉不詳;3、排版很差。總之,和老外寫的相關(guān)書籍相比,各方面都差!
  •   非常一般,不實用。
  •   內(nèi)容比較舊啊
  •   本書應(yīng)該附帶光盤,我在當(dāng)當(dāng)網(wǎng)上買給我郵購過來的時候為什么沒有光盤呢???
  •   內(nèi)容很亂內(nèi)容太初級,沒什么用
  •   沒有重點細(xì)講XNA的開發(fā)技術(shù),感覺結(jié)構(gòu)很混亂
  •   這本書的確非常適合入門閱讀,看完就能制作一些小游戲了!
  •   書很不錯,講的很細(xì)致。非常適合初學(xué)者的一本好書,值得一看。
  •   只有XNA部分的內(nèi)容有點用,還有前面數(shù)學(xué)基礎(chǔ)的內(nèi)容,還有就是卓越送貨夠快的,頂一個!
  •   晚上定的貨,第二天下午就拿到了,不過什么包裝都沒。很糾結(jié)??!內(nèi)容未看,純粹興趣,呵呵?。?/li>
  •   中文的講DX的書里面,這本算上流之選了。
  •   XNA 入門書籍之一感覺還不錯除了XNA以外還有DirectX的一些技術(shù)和一些基本的C#語法
  •   還行吧,代碼較多
  •   寫的一般 不過在國內(nèi)現(xiàn)在講XNA 也就這本書了
  •   很喜歡,但是還來不及看完。。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7