游戏开发论坛

 找回密码
 立即注册
搜索
楼主: flyue

请问在D3D中如何实现“文字渲染到纹理”?

[复制链接]

4

主题

69

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
发表于 2009-2-2 18:13:00 | 显示全部楼层

Re:请问在D3D中如何实现“文字渲染到纹理”?

实际上没有必须每帧都ID3DXFont:rawText的,我的做法是预先将要显示的文字绘制到一张纹理上去,然后每帧显示都是贴图了。

59

主题

404

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
 楼主| 发表于 2009-2-2 22:17:00 | 显示全部楼层

Re:请问在D3D中如何实现“文字渲染到纹理”?

嗯,谢谢大家,我知道怎么做了。

11

主题

36

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2009-2-2 22:54:00 | 显示全部楼层

Re: 请问在D3D中如何实现“文字渲染到纹理”?

先将FONT  textout到一个bitmap上,然后建一个纹理,之后surface::lock() 写像素

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2009-2-6 14:22:00 | 显示全部楼层

Re:请问在D3D中如何实现“文字渲染到纹理”?

渲染到纹理和文字有关系吗?

5

主题

54

帖子

54

积分

注册会员

Rank: 2

积分
54
发表于 2009-2-11 10:44:00 | 显示全部楼层

Re: Re: 请问在D3D中如何实现“文字渲染到纹理”?

风之翼CC: Re: 请问在D3D中如何实现“文字渲染到纹理”?

先将FONT  textout到一个bitmap上,然后建一个纹理,之后surface::lock() 写像素


我最近也遇到差不多的问题
如果用这样的方法拷贝字体到bitmap的话,由于字体是位图,将这个位图作为纹理渲染出来的话,就出现了严重的锯齿现象,即使使用线形采样的方法\或者扩大贴图等等都不能解决,我正在找方法解决,不知道大家有什么好的办法

11

主题

36

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2009-2-13 10:55:00 | 显示全部楼层

Re: 请问在D3D中如何实现“文字渲染到纹理”?

方法绝对还是那方法,不过你用得不对而已
你的bitmap动态去创建,已适应大小的需求,并把不同大小的字放在不同的纹理上
记住一点,你纹理上的字大小,就是你最终输出的大小,即没有缩放(这个只适用于UI界面字体,如果游戏里面的字体话,肯定是有缩放的,锯齿也是没办法避免的)

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
发表于 2009-2-14 19:41:00 | 显示全部楼层

Re: 请问在D3D中如何实现“文字渲染到纹理”?

1.建纹理时设置成D3DUSAGE_RENDERTARGET
2.通过SetRenderTarget来设置渲染对象,这样渲染的时侯就在指定纹理上渲染了

12

主题

88

帖子

188

积分

注册会员

Rank: 2

积分
188
发表于 2010-9-5 20:32:00 | 显示全部楼层

Re:请问在D3D中如何实现“文字渲染到纹理”?

顶一个,另外想了解一下游戏中的玩家在攻击怪物时头顶上那一排排的数字是用什么方法渲染出来的。它好像有缩放效果。不知流行的做法是如何实现的。有经验的人士望指点一下,谢谢!!

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
发表于 2010-9-6 09:56:00 | 显示全部楼层

Re: Re:请问在D3D中如何实现“文字渲染到纹理”?

PVicky: Re:请问在D3D中如何实现“文字渲染到纹理”?

实际上没有必须每帧都ID3DXFont:rawText的,我的做法是预先将要显示的文字绘制到一张纹理上去,然后每帧显示都是贴图了。


说的是。

0

主题

398

帖子

577

积分

高级会员

Rank: 4

积分
577
发表于 2010-9-6 10:07:00 | 显示全部楼层

Re:请问在D3D中如何实现“文字渲染到纹理”?

用SetViewport裁剪文字
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-3 06:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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