[转]请问如何用ID3DXFont::DrawText到一个纹理上
请问如何用ID3DXFont::DrawText到一个纹理上初学者,请不要见笑,自己琢磨了一下午,也没弄出来。
网上也没找到。。
麻烦哪位高手讲解下关键的步骤,谢谢!
新成员
发表于: 2007-1-29 20:47:00
你可以用ID3DXRenderToSurface 接口试一下吧。
创建一个ID3DXRenderToSurface ,调用他的BeginScene(LPDIRECT3DSURFACE9 pSurface,
CONST D3DVIEWPORT9 *pViewport)方法。他的第一参数就是一个平面,你用DrawText就能画到那个平面中去。画完在调用EndScene(NULL)方法,就OK了。
新成员
发表于: 2007-1-30 10:01:00
谢谢,我做了下,但有个新问题了。
ID3DXRenderToSurface::BeginScene和ID3DXRenderToSurface::EndScene要在IDirect3DDevice9::BeginScene和IDirect3DDevice9::EndScene之外,如果我在IDirect3DDevice9::BeginScene和IDirect3DDevice9::EndScene里面,有什么方法能用ID3DXFont::DrawText到一个纹理上呢?
我试着改变SetRenderTarget到一个表面,倒是能行。但如果频繁改变SetRenderTarget对效率影响大不大呢?另外还有什么方法能在IDirect3DDevice9::BeginScene和IDirect3DDevice9::EndScene里面,用ID3DXFont::DrawText到一个纹理上呢?
下士
发表于: 2007-1-30 12:23:00
对于SetRenderTarget的效率不低的