注册 登录
编程论坛 C++教室

[转]请问如何用ID3DXFont::DrawText到一个纹理上

flyue 发布于 2008-05-10 17:31, 1284 次点击
请问如何用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的效率不低的
0 回复
1