推 func:RenderTarget? 10/14 20:42
→ darkflier:用shader寫 直接使用Eye dot normal 求reflect試試看 10/14 22:05
→ darkflier:變化其中一像參數就可以達到你的要求 10/14 22:05
→ Splash5:第一個想到的答案跟一樓一樣XD 10/15 02:51
非常感謝給位前輩的解答 我目前已使用 RenderTarget 來實作
我的做法如下 :
-----
LPDIRECT3DDEVICE9 m_pDevice;
PDIRECT3DSURFACE9 pCurrentRenderSurf;
m_pDevice->GetRenderTarget( 0, &m_pCurrentRenderSurf);
LPD3DXBUFFER pBuf = NULL;
D3DXSaveSurfaceToFileInMemory( &pBuf , D3DXIFF_BMP
, pCurrentRenderSurf , NULL , NULL);
LPDIRECT3DTEXTURE9 pDx3DTexture9 = NULL;
D3DXCreateTextureFromFileInMemoryEx( m_pDevice
, pBuf->GetBufferPointer() , pBuf->GetBufferSize()
320 , 240 , 0 , D3DUSAGE_DYNAMIC , D3DFMT_A8R8G8B8 , D3DPOOL_DEFAULT ,
D3DX_DEFAULT ,D3DX_DEFAULT , 0xFF000000 , NULL ,NULL , &pDx3DTexture9 );
-----
最後再把 pDx3DTexture9 貼到我想要顯示的 Sprite 上...
不過說實在的 效能真的很糟 我想應該是 把 Surface 轉成圖檔 再轉成 Texture 的原因
但是我翻了半天的文件 似乎沒看見 直接把 Surface 轉成 Texture 的 Function ...
請問各位前輩 是有這樣的 Function 只是單純我忽略沒看見嗎...??
如果是的話 可不可以給我關鍵字 讓我去搜尋... <(_ _)> 大恩大德 感激不盡 <(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.76.190.21
→ Splash5:你的texture最好是2^n長寬.. 10/16 20:54
→ Splash5:IDirect3DSurface9::GetContainer msdn有sample code 10/16 20:54
→ Splash5:你可以試試 10/16 20:54