DirectX游戲編程基礎(chǔ)教程

出版時(shí)間:2010-9  出版社:機(jī)械工業(yè)出版社  作者:王德才  頁(yè)數(shù):281  
Tag標(biāo)簽:無(wú)  

前言

DirectX最初是微軟為了彌補(bǔ)Windows 3.1對(duì)圖形、聲音處理能力不足的缺陷,開(kāi)發(fā)的一個(gè)附加工具包,主要用于在Windows平臺(tái)上開(kāi)發(fā)游戲。自從DirectX 1.0發(fā)布以來(lái),DirectX的版本不斷升級(jí)、功能逐漸完善,很快就成為對(duì)多媒體系統(tǒng)各個(gè)方面都有決定性影響的開(kāi)發(fā)接口。目前DirectX主要由負(fù)責(zé)三維圖形和動(dòng)畫(huà)開(kāi)發(fā)的DirectX Graphics、負(fù)責(zé)音頻開(kāi)發(fā)的DirectX Audio以及支持各種輸入設(shè)備的DirectX Input三部分組成,這三部分各自又包含眾多功能組件。 在DirectX的所有功能組件中,負(fù)責(zé)3D圖形和動(dòng)畫(huà)開(kāi)發(fā)的Direct3D是最重要、最復(fù)雜、也是更新最快的組件。隨著Direct3D版本的不斷升級(jí),其功能也越來(lái)越強(qiáng)大,圖形硬件對(duì)Direct3D的支持也越來(lái)越好。往往在新版本的Direct3D剛剛發(fā)布后,硬件廠商就會(huì)生產(chǎn)出支持最新版本Direct3D功能的顯卡。 現(xiàn)在DirectX已經(jīng)不僅僅是一個(gè)用于游戲以及高性能多媒體應(yīng)用程序開(kāi)發(fā)的附加工具包,而是整體Windows系統(tǒng)的圖形基礎(chǔ),成為Windows系統(tǒng)自身的重要組成部分。在最新的Windows Vista以及Windows 7操作系統(tǒng)中,使用Direct3D作為底層的圖形引擎,而放棄了自從Windows 3.1以來(lái)一直使用的GDI/GDI+。甚至最新的圖形界面開(kāi)發(fā)技術(shù)WPF在底層也是基于Direct3D開(kāi)發(fā)的,Direct3D也逐漸成為用戶(hù)界面開(kāi)發(fā)技術(shù)的底層基礎(chǔ)。因此DirectX編程已經(jīng)不僅僅是游戲以及高性能多媒體應(yīng)用開(kāi)發(fā)人員所必須具備的技能,而成為所有Windows開(kāi)發(fā)人員需要了解的技術(shù)基礎(chǔ)。 本書(shū)主要面向首次接觸DirectX的初級(jí)開(kāi)發(fā)人員和在校師生。由于DirectX編程相對(duì)比較復(fù)雜,為了使本書(shū)能夠成為一本適合DirectX開(kāi)發(fā)入門(mén)的優(yōu)秀圖書(shū),在本書(shū)的寫(xiě)作過(guò)程中,作者有意突出了以下特點(diǎn)。

內(nèi)容概要

本書(shū)系統(tǒng)全面地介紹了DirectX編程的各個(gè)方面,主要內(nèi)容包括:學(xué)習(xí)DirectX之前必須掌握的基礎(chǔ)知識(shí)、DirectX與相關(guān)圖形技術(shù)以及Windows系統(tǒng)本身的關(guān)系、Direct3D三維圖形和動(dòng)畫(huà)開(kāi)發(fā)、DirectX Audio音頻開(kāi)發(fā)、DirectInput輸入處理以及DXUT程序框架等內(nèi)容。此外,每章都提供了精心設(shè)計(jì)的示例程序和課后練習(xí),以及相應(yīng)的源代碼和多媒體課件。本書(shū)非常適合作為高等院校相關(guān)專(zhuān)業(yè)的教材。對(duì)于希望進(jìn)入DirectX游戲開(kāi)發(fā)領(lǐng)域的人員,本書(shū)是一本非常好的自學(xué)教材。對(duì)于希望了解新一代Windows操作系統(tǒng)(Windows Vista和Windows7)圖形引擎,以及新一代圖形界面開(kāi)發(fā)技術(shù)(WPF)底層基礎(chǔ)的開(kāi)發(fā)人員,本書(shū)也是一本優(yōu)秀的參考用書(shū)。

書(shū)籍目錄

前言 第1章 DirectX與游戲編程簡(jiǎn)介  1.1 DirectX介紹  1.2 OpenGL、XNA與WPF  1.2.1 OpenGL   1.2.2 XNA   1.2.3 WPF  1.3 DirectX功能組件   1.3.1 DirectX Graphics   1.3.2 DirectX Audio   1.3.3 DirectX Input   1.3.4 其他組件  1.4 DirectX與游戲開(kāi)發(fā)  1.5 DirectX安裝與配置   1.5.1 系統(tǒng)配置要求   1.5.2 DirectX安裝   1.5.3 選擇調(diào)試庫(kù)和發(fā)布庫(kù)   1.5.4 在Visual Studio IDE中配置 DirectX   1.5.5 瀏覽DirectX SDK示例程序  1.6 小結(jié)  練習(xí) 第2章 預(yù)備知識(shí)  2.1 數(shù)學(xué)基礎(chǔ)   2.1.1 向量   2.1.2 矩陣   2.1.3 平面  2.2 Win32 API編程基礎(chǔ)   2.2.1 開(kāi)發(fā)Win32 API程序的基本步驟   2.2.2 Win32 API程序解析  2.3 COM使用基礎(chǔ)   2.3.1 COM對(duì)象概述   2.3.2 創(chuàng)建COM對(duì)象   2.3.3 使用COM接口   2.3.4 管理COM對(duì)象的生命期  2.4 小結(jié)  練習(xí)  ……第3章 Direct3D編程入門(mén) 第4章 基本圖元和文本繪制 第5章 頂點(diǎn)坐標(biāo)變換 第6章 光照 第7章 紋理映射 第8章 Direct3D渲染技巧 第9章 網(wǎng)格模型 第10章 點(diǎn)精靈與粒子系統(tǒng) 第11章 基本虛擬場(chǎng)景構(gòu)造 第12章 HLSL高級(jí)著色語(yǔ)言 第13章 著色器和效果 第14章 DirectX Audio音頻編程 第15章 DirectInput與場(chǎng)景交互 第16章 DXUT程序框架 附錄A Direct3D 10與Direct3D 11介紹 參考文獻(xiàn)

章節(jié)摘錄

插圖:地面模擬的一個(gè)重要內(nèi)容是獲取高程數(shù)據(jù),高程數(shù)據(jù)通常以文件的形式保存。使用高度圖文件保存地形高程數(shù)據(jù)是一種常見(jiàn)的方法。高度圖有多種可能的圖形表示形式,其中最常見(jiàn)的有兩種。第一種是每個(gè)像素只包含亮度值的黑白圖像(可以是bmp、jpg、tga等文件格式);第二種是灰度圖,這種高度圖通常保存為.raw格式的文件,這種文件逐個(gè)字節(jié)地保存灰度值。為了得到地形的高程數(shù)據(jù),首先需要讀取高度圖文件,將高度圖中保存的高程數(shù)據(jù)讀取到相應(yīng)的內(nèi)存中,以方便構(gòu)造地形網(wǎng)格時(shí)使用。使用第二種高度圖獲取高程數(shù)據(jù),比第一種高度圖要復(fù)雜一些,缺點(diǎn)是無(wú)法知道圖形的二維尺寸。下面重點(diǎn)介紹如何使用第一種高度圖獲取地形的高程值。第一種高度圖是一種二維圖像文件,圖像中每個(gè)像素的位置對(duì)應(yīng)于實(shí)際地形上的一個(gè)位置。每個(gè)像素的值代表對(duì)應(yīng)位置的高程數(shù)據(jù):越亮的像素,對(duì)應(yīng)位置的高度越高。因?yàn)檫@種高度圖的文件格式可能有多種,需要針對(duì)不同的圖像格式讀取文件內(nèi)容。然而,除了.bmp文件之外,直接讀取圖像文件不是一件輕松的事情。為了簡(jiǎn)化編程工作,可首先利用D3Dx提供的D3DXCreateTextureFromFileEx()函數(shù),根據(jù)圖形文件創(chuàng)建相應(yīng)的Direct3D紋理對(duì)象,然后從紋理對(duì)象中讀取每個(gè)像素。這樣讀取不同格式文件的復(fù)雜工作實(shí)際上就由D3DXcreate-TextureFiomFileEx()函數(shù)代勞了,從而可以不用關(guān)心文件的具體格式。CFerrain類(lèi)將讀取高度圖文件的操作封裝到私有成員函數(shù)ReadHightDataFrom exFile()中,該函數(shù)的實(shí)現(xiàn)代碼如下。

編輯推薦

《DirectX游戲編程基礎(chǔ)教程》:數(shù)字媒體專(zhuān)業(yè)規(guī)劃教材

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    DirectX游戲編程基礎(chǔ)教程 PDF格式下載


用戶(hù)評(píng)論 (總計(jì)6條)

 
 

  •   這本書(shū)不錯(cuò)!值得學(xué)習(xí)!作為教輔!果斷買(mǎi)吧!
  •   學(xué)校的課本只有OpenGL,dx必須自己買(mǎi)啊。。。這本書(shū)看起來(lái)入門(mén)還不錯(cuò),講的比較細(xì)
  •   買(mǎi)了沒(méi)看糾結(jié)啊
  •   根本看不下去,文字不夠流暢,前后章節(jié)不連貫。看不懂。也許我的水平太差了。
  •   書(shū)像一本教材,其余質(zhì)量還不錯(cuò),文字講解得也算清楚,需要有一定的win32基礎(chǔ)但是這本書(shū)的示例就是一大敗筆?。。。。。。。。。。。。。∧岈斔^的示例程序,就給出一個(gè)函數(shù)的幾行代碼,這個(gè)函數(shù)加在程序中什么位置不說(shuō),用到的全局變量也不說(shuō)明;同一地方給出的幾行代碼,可能是加在不同的位置,但是書(shū)上一句不提。所以整個(gè)示例程序,真正寫(xiě)出來(lái)可能有兩三百行,而書(shū)上的就幾個(gè)函數(shù)十幾行帶過(guò),怪不得整本書(shū)才不到300頁(yè)好在可以在網(wǎng)上下源代碼,稍稍彌補(bǔ)了這個(gè)大BUG,但還是很不爽很不爽?。。。。。。。。。。。?!書(shū)上就算不給出完整的程序代碼,至少也該提一下給出的那部分代碼加在哪里吧?。。。?!
  •   里面還是有一定的看頭
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7