作者pleaselouis (LOUISN)
看板GameDesign
標題[請益] 請問關於 Sphere 貼圖
時間Tue Apr 21 19:46:39 2009
目前在練習使用 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);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.76.190.21
→ Quaid:iques-Part_6_Textures_Cameras_and_Speed.shtml 05/04 15:07
→ Quaid:有教sphere的texture 我不清楚directx有沒有API可以直接設 05/04 15:09