什么是DirectX教學(xué)課件_第1頁
什么是DirectX教學(xué)課件_第2頁
什么是DirectX教學(xué)課件_第3頁
什么是DirectX教學(xué)課件_第4頁
什么是DirectX教學(xué)課件_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

DirectX

什么是DirectX?DirectX是Microsoft公司開發(fā)的運(yùn)行于計(jì)算機(jī)平臺(tái)的多媒體控制處理引擎;能夠?qū)︼@存和硬件直接訪問;圖形應(yīng)用程序接口(API);DirectX通過COM的技術(shù),以及一套由Microsoft和硬件廠商共同編寫的驅(qū)動(dòng)程序和程序庫,可以提供對(duì)所有設(shè)備的硬件級(jí)的控制。

DirectX的組成顯示部分聲音部分輸入部分網(wǎng)絡(luò)部分

DirectAudio:由DirectSound和DirectMusic整合而成;DirectSound:只支持?jǐn)?shù)字化的聲音,不支持MIDI。DirectMusic:支持MIDI,是一種基于DLS(DownloadableSound)數(shù)據(jù)的實(shí)時(shí)音樂編排和回放技術(shù);DirectShow:提供了在windows平臺(tái)上對(duì)多媒體數(shù)據(jù)流的高質(zhì)量的捕捉和回放的支持;DirectShow支持多種多媒體格式,包括AVI、MP3、WAV等;聲音部分輸入部分DirectInput:提供了對(duì)游戲輸入設(shè)備的支持,包括鍵盤、鼠標(biāo)、手柄等;支持力反饋設(shè)備,模擬使用者的真實(shí)感覺。網(wǎng)絡(luò)部分DirectPlay:提供了玩家進(jìn)行多人游戲中信息通訊和玩家互動(dòng)交流的平臺(tái)環(huán)境;提供多種連接方式如TCP/IP,IPX,Modem,串口等,使計(jì)算機(jī)之間互聯(lián)無障礙;DirectX和COM的協(xié)同工作COM在裝載DirectX的運(yùn)行版本時(shí),作為DLL包含在系統(tǒng)中。運(yùn)行DirectX時(shí),其裝載DLL。請(qǐng)求接口,這些接口的方法就被調(diào)入而完成任務(wù)。應(yīng)包含一些封裝了COM內(nèi)容的輸入庫函數(shù).LIB,以便于使用這些封裝函數(shù)調(diào)用DirectX來創(chuàng)建COM對(duì)象。訪問COM對(duì)象調(diào)用適當(dāng)?shù)暮瘮?shù)獲取接口指針;調(diào)用接口的方法(成員函數(shù))來完成所需功能;用完接口后,調(diào)用Release方法進(jìn)行“釋放”,注意釋放順序應(yīng)該和獲取它們的順序相反。游戲的圖形實(shí)現(xiàn)—Direct3D

窗口的構(gòu)建創(chuàng)建一個(gè)Windows類。創(chuàng)建一個(gè)事件句柄或WinProc。用Windows注冊(cè)Windows類。用前面創(chuàng)建的Windows類創(chuàng)建一個(gè)窗口。

初始化Direct3D程序

創(chuàng)建Direct3D對(duì)象并得到Direct3D接口。查詢顯卡的顯示模式。創(chuàng)建Direct3D設(shè)備對(duì)象并得到接口。

處理消息循環(huán)PeekMessage()TranslateMessage()DispatchMessage()圖形顯示原理—頁翻動(dòng)技術(shù)

把要顯示的物體全部繪制到“后緩沖區(qū)”;快速的把它翻動(dòng)到可見的“前緩沖區(qū)”;快速而連續(xù)的重復(fù)此過程;Direct3D的圖元點(diǎn)列線帶線列三角形列三角形帶三角扇形坐標(biāo)變換世界變換視圖變換投影變換圖形顯示過程球體的構(gòu)建

將球體切割成nRings*nSegments

段。需要((m_nRings+1)*(m_nSegments+1))個(gè)頂點(diǎn)。按照立體幾何里面球體的構(gòu)造式,構(gòu)造出一系列縱向的環(huán)和一系列橫向的環(huán),這樣相互交叉,就構(gòu)成了一個(gè)球體所需要的全部頂點(diǎn)。

索引頂點(diǎn)頂點(diǎn)緩存中保存A、B、C、D這4個(gè)頂點(diǎn)的FVF數(shù)據(jù)項(xiàng),相應(yīng)的索引為0、1、2、3。按照三角形列的組成順序,把頂點(diǎn)索引值存入索引緩存區(qū)。通過調(diào)用索引調(diào)用頂點(diǎn)。深度緩沖機(jī)理DirectX測(cè)試對(duì)象在屏幕上的像素點(diǎn)到攝像機(jī)的遠(yuǎn)近,并把得出的值保存在深度緩沖區(qū)中;以同樣的方法測(cè)試同一位置上另一對(duì)象的像素點(diǎn);將兩像素比較。若后者距離近,則刷新紀(jì)錄;否則不理睬;

物體表面的材質(zhì)屬性環(huán)境光反射系數(shù):Ambient漫反射系數(shù):Diffuse鏡面反射系數(shù):Specular自身發(fā)光度:Emissive鏡面反射數(shù):Power加上紋理紋理屬于COM對(duì)象,既可以從現(xiàn)有的圖片文件中直接創(chuàng)建,也可以先創(chuàng)建一個(gè)空的紋理對(duì)象,然后再進(jìn)行填充。紋理是表示物體表面細(xì)節(jié)的一幅或幾幅2D圖片,它可以保存為bmp、tga、jpg等圖片格式。Direct3D支持多層紋理,最高可達(dá)8層。圖片的大小一般是任意的,但是為了計(jì)算方便,一般取2n大小。添加紋理的過程從磁盤文件中創(chuàng)建紋理并載入內(nèi)存

D3DXCreateTextureFromFile()設(shè)置紋理IDirect3DDevice8::SetTexture()設(shè)置紋理渲染狀態(tài)(紋理混合)IDirect3DDevice8::SetTextureStageState()紋理坐標(biāo)不論紋理的大小如何,其左上角總是(0,0),右下角總是(1,1),易知中心點(diǎn)的紋理坐標(biāo)為(0.5,0.5)。但Direct3D也允許紋理坐標(biāo)取此范圍之外的值,以獲取某些特殊的紋理效果紋理過濾紋理過濾方法

最近點(diǎn)采樣過濾線性紋理過濾各項(xiàng)異性紋理過濾多級(jí)漸進(jìn)紋理過濾

Direct3D計(jì)算的紋理元素地址是一個(gè)浮點(diǎn)值;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論