作者pleaselouis (LOUISN)
看板GameDesign
标题Re: [请益] 请问关於 DirectX 3D 与 2D 的问题
时间Fri Oct 16 19:47:22 2009
1F:推 func:RenderTarget? 10/14 20:42
2F:→ darkflier:用shader写 直接使用Eye dot normal 求reflect试试看 10/14 22:05
3F:→ darkflier:变化其中一像参数就可以达到你的要求 10/14 22:05
4F:→ 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
5F:→ Splash5:你的texture最好是2^n长宽.. 10/16 20:54
6F:→ Splash5:IDirect3DSurface9::GetContainer msdn有sample code 10/16 20:54
7F:→ Splash5:你可以试试 10/16 20:54