電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
請問關於 Sphere 貼圖

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式高級班:DirectX、OpenGL及各種圖型函式庫
上一篇主題 :: 下一篇主題  
發表人 內容
pleaselouis
時常出沒的會員


註冊時間: 2008-11-03
文章: 32

505.97 果凍幣

發表發表於: 2009-4-21, PM 7:45 星期二    文章主題: 請問關於 Sphere 貼圖 引言回覆

目前在練習使用 DirectX 做一個類似 SkyBox 的程式

現在是使用 D3DXCreateSphere 實作出一個球體

但是我不太清楚 要如何指定一張圖片 當作Texture貼上去

參考了一些範例 但是還是一頭霧水 所以上來請教大家 希望大家給點建議

以下是程式碼片段 :

初始化區域:
引言回覆:

LPDIRECT3DDEVICE9 m_pDevice;
LPD3DXMESH m_meshSphere;
LPDIRECT3DTEXTURE9 m_pMyTexture;
D3DMATERIAL9* m_sphereMaterials;

............

D3DXCreateSphere(m_pDevice, 200.0f, 20, 10, &m_meshSphere, NULL);

D3DXCreateTextureFromFile(m_pDevice , L"XXX.jpg" , &m_pMyTexture);

m_sphereMaterials = new D3DMATERIAL9;
m_sphereMaterials->Diffuse.r=1.0;
m_sphereMaterials->Diffuse.g=1.0;
m_sphereMaterials->Diffuse.b=1.0;
m_sphereMaterials->Diffuse.a=1;
m_sphereMaterials->Ambient = m_sphereMaterials->Diffuse;
m_sphereMaterials->Power=1;


m_pDevice->SetRenderState(D3DRS_LIGHTING, TRUE);
m_pDevice->SetRenderState(D3DRS_AMBIENT, D3DCOLOR_XRGB(255, 255, 255));
m_pDevice->SetRenderState(D3DRS_ZENABLE ,TRUE);



Render區域:
引言回覆:

m_pDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
m_pDevice->SetTexture( 0 , (IDirect3DBaseTexture9*)m_pMyTexture );
m_pDevice->SetMaterial(m_sphereMaterials);
m_meshSphere->DrawSubset(0);

回頂端
檢視會員個人資料 發送私人訊息
songfat
時常出沒的會員


註冊時間: 2008-01-25
文章: 34

192.68 果凍幣

發表發表於: 2009-4-23, PM 6:17 星期四    文章主題: Re: 請問關於 Sphere 貼圖 引言回覆

pleaselouis 寫到:
目前在練習使用 DirectX 做一個類似 SkyBox 的程式

現在是使用 D3DXCreateSphere 實作出一個球體

但是我不太清楚 要如何指定一張圖片 當作Texture貼上去

參考了一些範例 但是還是一頭霧水 所以上來請教大家 希望大家給點建議

以下是程式碼片段 :

初始化區域:
引言回覆:

LPDIRECT3DDEVICE9 m_pDevice;
LPD3DXMESH m_meshSphere;
LPDIRECT3DTEXTURE9 m_pMyTexture;
D3DMATERIAL9* m_sphereMaterials;

............

D3DXCreateSphere(m_pDevice, 200.0f, 20, 10, &m_meshSphere, NULL);

D3DXCreateTextureFromFile(m_pDevice , L"XXX.jpg" , &m_pMyTexture);

m_sphereMaterials = new D3DMATERIAL9;
m_sphereMaterials->Diffuse.r=1.0;
m_sphereMaterials->Diffuse.g=1.0;
m_sphereMaterials->Diffuse.b=1.0;
m_sphereMaterials->Diffuse.a=1;
m_sphereMaterials->Ambient = m_sphereMaterials->Diffuse;
m_sphereMaterials->Power=1;


m_pDevice->SetRenderState(D3DRS_LIGHTING, TRUE);
m_pDevice->SetRenderState(D3DRS_AMBIENT, D3DCOLOR_XRGB(255, 255, 255));
m_pDevice->SetRenderState(D3DRS_ZENABLE ,TRUE);



Render區域:
引言回覆:

m_pDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
m_pDevice->SetTexture( 0 , (IDirect3DBaseTexture9*)m_pMyTexture );
m_pDevice->SetMaterial(m_sphereMaterials);
m_meshSphere->DrawSubset(0);



我記得create sphere函式產生的頂點格式不包含uv吧?沒uv應該沒辦法貼圖才對。

不過話說,你們公司決定要從directx開始做遊戲呀@@?
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式高級班:DirectX、OpenGL及各種圖型函式庫 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作