directX游戲編程實(shí)驗(yàn)_第1頁
directX游戲編程實(shí)驗(yàn)_第2頁
directX游戲編程實(shí)驗(yàn)_第3頁
directX游戲編程實(shí)驗(yàn)_第4頁
directX游戲編程實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

任課教師:張海翔《DirectX角色游戲編程》(2011-2012學(xué)年第2學(xué)期)實(shí)驗(yàn)報(bào)告學(xué)號:E10700206姓名:吳慧峰班級:10數(shù)媒(2)班浙江理工大學(xué)信息學(xué)院實(shí)驗(yàn)指導(dǎo)書實(shí)驗(yàn)名稱:DirectX三維文字場及地形景實(shí)驗(yàn)學(xué)時(shí)安排:3實(shí)驗(yàn)類別:綜合設(shè)計(jì)型實(shí)驗(yàn)實(shí)驗(yàn)要求:1人1組 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、實(shí)驗(yàn)?zāi)康?1)通過實(shí)驗(yàn),運(yùn)用DirectX三維圖形編程的知識、原理和技術(shù);(2)掌握在綜合三維場景的基礎(chǔ)上,設(shè)計(jì)一個(gè)三維文字及地形的實(shí)現(xiàn)方法;(3)通過使用VC++編程環(huán)境實(shí)現(xiàn)三維場景中的三維文字及地形的設(shè)計(jì)。二、實(shí)驗(yàn)儀器計(jì)算機(jī),VC++2005語言程序設(shè)計(jì)環(huán)境和DirectX三維圖形開發(fā)環(huán)境三、實(shí)驗(yàn)原理D3DX庫是使用ID3DXFont接口來在Direct3D應(yīng)用程序中輸出文字的。這個(gè)接口通過GDI(圖形設(shè)備接口)來輸出文字,因此用這個(gè)接口完成任務(wù)的時(shí)候會有些效率上的損失。但是,運(yùn)用了GDI,ID3DXFont可以處理復(fù)雜的文字和文字格式。在DirectX中通過D3DXCreateFontIndirect方法來創(chuàng)建一個(gè)ID3DXFont接口:HRESULT

WINAPI

D3DXCreateFontIndirect(

LPDIRECT3DDEVICE9

pDevice, //當(dāng)前所使用的設(shè)備CONSTD3DXFONT_DESC

*pDesc,//字體描述結(jié)構(gòu)LPD3DXFONT

*ppFont //返回的字體接口);當(dāng)獲得了一個(gè)ID3DXFont接口以后,可以方便地利用ID3DXFont接口的DrawText方法來輸出文字:INTID3DXFont::DrawText(LPCSTRpString,INTCount,LPRECTpRect,DWORDFormat,D3DCOLORColor);范例代碼如下: Font->DrawText("HelloWorld", //待輸出字符串建立點(diǎn)光源:最后釋放內(nèi)存:實(shí)驗(yàn)結(jié)果:制作好立方體與茶壺后添加到地形文件terrainDriver.cpp中,修改世界坐標(biāo)使它們能浮現(xiàn)在地形上面改變立方體旋轉(zhuǎn)方式,使其繞y軸旋轉(zhuǎn),這里由于不會使物體繞其本身的的軸旋轉(zhuǎn),如果按照之前繞x和y軸旋轉(zhuǎn)的話就是在做類似地球公轉(zhuǎn)的運(yùn)動,如下圖:實(shí)驗(yàn)結(jié)果:在terrainDriver.cpp中添加文字:定義兩個(gè)文字接口:,把定義的世界坐標(biāo)Worlds改為有兩個(gè)元素是數(shù)組Worlds[0]表示茶壺的世界坐標(biāo),Worlds[1]表示文字Text的時(shí)間坐標(biāo),在boolsetup()里聲明Worlds[1]的世界坐標(biāo)位置:在Display()函數(shù)中畫出文字:在Cleanup()中加入實(shí)驗(yàn)結(jié)果:在地形文件中加入pSystem.h和pSystem.cpp文件。定義雪花和煙花:在setup()中建立雪花和煙花:在Display()中畫出雪花和煙花:開始時(shí)把雪花畫在了地形的前面出現(xiàn)了下面的結(jié)果,不知道出現(xiàn)了什么問題,后來才發(fā)現(xiàn)了。實(shí)驗(yàn)結(jié)果:五、心得體會雖然這次實(shí)驗(yàn)做出了效果,也讓我更深入地了解了DirectX關(guān)于世界坐標(biāo)、紋理、例子系統(tǒng)及在畫物體時(shí)的先后順序,但還是存在很多的問題需要解決,在繪制立方體的紋理時(shí),不是很難,其他代碼書上也有例子可以參考,所以代碼的問題不是很大,但在讓這些出現(xiàn)在地形上碰到了很多問題,剛開始的時(shí)候不知道,做好時(shí)一直沒有出現(xiàn)立方體和茶壺等,改變了它們的世界坐標(biāo)位置后發(fā)現(xiàn)之前cube里立方體是繞x和y軸旋轉(zhuǎn)的,改變位置后臺還是這樣的,想把它改成繞自己的軸旋轉(zhuǎn),但不會,也找不到這樣的資料,未來有效果就只好改成繞y軸旋轉(zhuǎn);在做三維文字的時(shí)候,也不會修改其字體大小和朝向;制作雪花的時(shí)候,想改成自己想要的圖片,但不知道為什么產(chǎn)生的效果就跟把雪花畫在地形

溫馨提示

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

最新文檔

評論

0/150

提交評論