游戏开发论坛

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

以D3D为基础的2D编程

[复制链接]

17

主题

165

帖子

167

积分

注册会员

Rank: 2

积分
167
发表于 2005-10-11 20:13:00 | 显示全部楼层

Re:以D3D为基础的2D编程

好像在用粒子系统的时候,第二种方法不行哈?
我能想到的就是Surface的Lock/Unlock.

3

主题

59

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2005-10-11 20:15:00 | 显示全部楼层

Re: Re:以D3D为基础的2D编程

Quest: Re:以D3D为基础的2D编程

第二种做非2^n图片要scale回去,,麻烦一点点

第三种要方便多了可以直接做2^n,,只是只能做做COPY

第一种一般是你不想用D3DX才做的



不用Scale回去,把一些非2的N次方的纹理,组织到一张大的2的N次方的纹理上,把纹理坐标得到,就可以了,这样比Scale的效率高很多,还节省了宝贵的显存。

3

主题

59

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2005-10-11 20:21:00 | 显示全部楼层

Re: Re:以D3D为基础的2D编程

kyo1984: Re:以D3D为基础的2D编程

好像在用粒子系统的时候,第二种方法不行哈?
我能想到的就是Surface的Lock/Unlock.


作粒子系统的话,也可以使用比较简单的方法,D3D里面内置了粒子系统的支持的,用DX里面的Point Sprites这个东西,就可以很方便的作出一个简单的粒子系统。还是那句话,你要写进阶的D3D程式,很多东西都要知道原理,自己动手写的,D3D内置的一些东西在初期使用,教学,写写DEMO方面还可以,但是就不适合大型项目使用了。

20

主题

398

帖子

398

积分

中级会员

Rank: 3Rank: 3

积分
398
 楼主| 发表于 2005-10-11 20:33:00 | 显示全部楼层

Re:以D3D为基础的2D编程

我也觉得第一种方法比较好,速度快,还可以做一些特效,比如说光照效果(基于Tile的顶点光照)。

69

主题

450

帖子

473

积分

中级会员

战魂缔造者

Rank: 3Rank: 3

积分
473
QQ
发表于 2005-10-12 00:22:00 | 显示全部楼层

Re:以D3D为基础的2D编程

to KeenBlue
耶小伙,有点凶哦,还用D3D VB流水线绘制,嘿嘿

一些常识!
1。D3D比OGL好的一个优点就是他的D3DX纹理载入库会自动将非2次幂转为2次幂纹理,而在绘制的时候按照原图绘制。只不过为了节约显存,推荐使用2次幂绘制
2。使用ISPRITE接口绘制纹理时,一定要在纹理载入时的纹理过滤关闭,打开纹理过滤时,D3D将不会自动将非2次幂转为2次幂纹理。

57

主题

139

帖子

141

积分

注册会员

Rank: 2

积分
141
发表于 2005-10-13 13:07:00 | 显示全部楼层

Re:以D3D为基础的2D编程

为什么Sprite会更慢?

1

主题

8

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2005-10-13 13:56:00 | 显示全部楼层

Re:以D3D为基础的2D编程

我也发现sptite绘制大量的图像巨慢,主要是如果使用sprite的画,绘制次数太多,用第一种方法可以一次绘制完成

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2005-10-13 16:26:00 | 显示全部楼层

Re:以D3D为基础的2D编程

长见识了啊

3

主题

105

帖子

105

积分

注册会员

Rank: 2

积分
105
发表于 2005-10-14 09:13:00 | 显示全部楼层

Re:以D3D为基础的2D编程

    呵呵 发现Sprite的效率还是可以的  注意使用方法  还是可以接受的

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2005-10-14 10:28:00 | 显示全部楼层

Re: Re:以D3D为基础的2D编程

第四开发部: Re:以D3D为基础的2D编程

我也发现sptite绘制大量的图像巨慢,主要是如果使用sprite的画,绘制次数太多,用第一种方法可以一次绘制完成

如果不考虑更改渲染状态,纹理等因素,
单纯从渲染速度来说,
SPRITE并不比第一种方法慢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 09:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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