游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4369|回复: 9

D3DX9 文字绘制到纹理问题

[复制链接]

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2010-7-5 10:13:00 | 显示全部楼层 |阅读模式
我现在需要将文字绘制到一个texture上作为缓存,为了不影响其他部分的渲染,绘制前先保存原来的渲染目标,然后用setRenderTarget将texture的表面作为渲染目标,再调用ID3DXFont的Drawtext函数将文字绘制到纹理,然后再恢复原来的渲染目标。

我是新手,不知道这个思路是否正确,现在的问题是调用了setRenderTarget将texture的表面作为渲染目标以后,再调用Drawtext将文字绘制到纹理时报错,说系统无法将文件移到不同的驱动器,求指点
PS:我用同样的方法,不是调用drawtext而是用画图函数如drawrect之类的时没有问题.

这两天找了找别人的办法,先把文字写到bitmap上,再从bitmap上建立texture,试了下,是可以显示出文字,但是又有另一个问题,SetBkColor的时候第二个参数COLORREF似乎不接受alpha值?于是当我把这个缓存texture画到屏幕上时,它的背景色不是透明,会覆盖后面的纹理,请问应该如何处理呢?


其实根本问题就是想把文字画到缓存上,不能直接DRAWTEXT到texture上么?

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2010-7-5 15:33:00 | 显示全部楼层

Re: D3DX9 文字绘制到纹理问题

有没有那位大哥能讲解下啊。。。

0

主题

398

帖子

577

积分

高级会员

Rank: 4

积分
577
发表于 2010-7-5 16:15:00 | 显示全部楼层

Re:D3DX9 文字绘制到纹理问题

你的意思是要用LockRect吧?

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2010-7-5 17:05:00 | 显示全部楼层

Re:D3DX9 文字绘制到纹理问题

LockRect以后还是要一个一个点去描的吧?

7

主题

48

帖子

128

积分

注册会员

Rank: 2

积分
128
QQ
发表于 2010-7-6 10:27:00 | 显示全部楼层

Re:D3DX9 文字绘制到纹理问题

texture什么格式的?

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2010-7-6 11:01:00 | 显示全部楼层

Re:D3DX9 文字绘制到纹理问题

IDirect3DTexture9* pTexture;
D3DXCreateTexture( pd3dDevice,256,256,1,D3DUSAGE_RENDERTARGET,        D3DFMT_A8R8G8B8,D3DPOOL_DEFAULT,&pTexture);

是动态创建的

0

主题

398

帖子

577

积分

高级会员

Rank: 4

积分
577
发表于 2010-7-6 12:20:00 | 显示全部楼层

Re:D3DX9 文字绘制到纹理问题

你认为从Bitmap复制到Texture的过程不是一点一点去描吗?
要是D3DUSAGE_RENDERTARGET就不能用LockRect了

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2010-7-6 13:38:00 | 显示全部楼层

Re:D3DX9 文字绘制到纹理问题

我的意思是,能不能不通过bitmap来做,现在用bitmap一个最大的问题就是背景颜色不能透明

不能直接通过setRenderTarget和DrawText来做么?

14

主题

345

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
QQ
发表于 2010-7-8 17:01:00 | 显示全部楼层

Re:D3DX9 文字绘制到纹理问题

自己计算alpha

1

主题

266

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2010-7-9 18:22:00 | 显示全部楼层

Re: Re:D3DX9 文字绘制到纹理问题

meteor67: Re3DX9 文字绘制到纹理问题

我的意思是,能不能不通过bitmap来做,现在用bitmap一个最大的问题就是背景颜色不能透明

不能直接通过setRenderTarget和DrawText来做么?

那就用能保存alpha值的格式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-8 10:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表