游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: ljm

ID3DXSprite不要用得太多

[复制链接]

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
 楼主| 发表于 2004-10-27 11:28:00 | 显示全部楼层

Re:ID3DXSprite不要用得太多

噢?那我要回去多试试,因为它真是挺方便的。

58

主题

281

帖子

281

积分

中级会员

Rank: 3Rank: 3

积分
281
QQ
发表于 2004-10-27 18:32:00 | 显示全部楼层

Re:ID3DXSprite不要用得太多

ID3DX兼容好象不太好,而且还挺花资源,还是自己实现比较好。

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2004-10-28 00:21:00 | 显示全部楼层

Re: Re: Re:ID3DXSprite不要用得太多

Civilian: Re: Re:ID3DXSprite不要用得太多


这本来就是一个批处理画图元工具

我的意思是:
Sprite->Begin(……);

画若干个图形

Sprite->End();

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2004-10-28 18:43:00 | 显示全部楼层

Re:ID3DXSprite不要用得太多

本来就是,你可以看文档里的介绍,一般你可以把所有相同属性的图元一次性输入,然后flush(),全部绘制出来,很方便。更方便的是,你可以把所有不同对象的图元一次性加入,用它可以方便的排序,作公告板处理。。。。。。。

33

主题

669

帖子

669

积分

高级会员

Rank: 4

积分
669
QQ
发表于 2004-10-29 13:01:00 | 显示全部楼层

Re:ID3DXSprite不要用得太多

可惜没电脑 只好看看了

54

主题

2916

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2004-10-29 20:10:00 | 显示全部楼层

Re:ID3DXSprite不要用得太多

我从来不用,我有自己编写的专用的类似东东。

3

主题

95

帖子

107

积分

注册会员

Rank: 2

积分
107
发表于 2004-10-29 23:42:00 | 显示全部楼层

Re:ID3DXSprite不要用得太多

何苦ID3DXSprite,自己做一人平面贴图系统,又不是很难的一件事情。一个triangle fan或者两个triangle list,几个UV+颜色值,不就成了一个Sprite了吗?ID3DXSprite不是POOL方式的,其VB是每创建一个Sprite就分配一个。这十分的不合乎优化的要求。

还不如自己做一个POOL类型的Sprite,做一个Dynamic VB,宁肯每一帧都COPY所有的Sprite数据进去再渲染。没关系,不要担心这点效率,这样简单的memcpy自己来一个rep movsd就快速搞定,绝对用不了多少个CPU周期的。然后仅设置一次VB。纹理在不相同的时候切换,Alpha渲染状态在不同的时候切换一下,其它情况下,既然都是Sprite,还能有几个渲染状态不一样的?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 00:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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