游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6230|回复: 19

关于粒子火焰中模糊算法的问题

[复制链接]

9

主题

22

帖子

40

积分

注册会员

Rank: 2

积分
40
发表于 2004-5-10 21:27:00 | 显示全部楼层 |阅读模式
我参照了本网站“开发文档”中关于粒子火焰的算法,文中提到:放置了热源后,要使火焰上升,可以使用模糊算法,具体的做法是将渲染的那块区域中的每一点的颜色取它本身和它下面3点的平均值,即(pixel(x,y)+pixel(x+1,y+1)+pixel(x,y+1)+pixel(x-1,y+1))/4。但是我用了这种算法后遇到一个问题。我是这样做的,先在某处画出一条直线,接着在这条线以上的一块区域里使用模糊算法,这样做出现的效果就是:在这条直线上出现了很薄的一层颜色模糊变淡的区域,并没有像预期的那样出现火焰上升的效果。
请问火焰上升究竟如何制作?

0

主题

130

帖子

130

积分

注册会员

Rank: 2

积分
130
发表于 2004-5-11 16:13:00 | 显示全部楼层

Re:关于粒子火焰中模糊算法的问题

如果要上升的话,可以参考MOTION BLUR的做法,也就是说将上一帧的渲染结果作移动后和这一帧混合.

9

主题

22

帖子

40

积分

注册会员

Rank: 2

积分
40
 楼主| 发表于 2004-5-11 17:09:00 | 显示全部楼层

Re: 关于粒子火焰中模糊算法的问题

我发现我的问题了,原因是我每次都重新绘制背景,结果把前一帧渲染的结果都刷掉了。所以根本没有动态的效果。现在已经可以出现些微的火焰效果,但是火焰总是升不高,只有很短的一截。如果要自己控制火焰的高度,该怎么做?

2

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2004-5-11 17:16:00 | 显示全部楼层

Re:关于粒子火焰中模糊算法的问题

改变下面热点的平均亮度

9

主题

22

帖子

40

积分

注册会员

Rank: 2

积分
40
 楼主| 发表于 2004-5-11 21:32:00 | 显示全部楼层

Re: 关于粒子火焰中模糊算法的问题

请问如何增加亮度呢?
我的颜色是通过红绿蓝三色输入的,我的模糊运算是通过将颜色的三原色分离出来然后分别相加取平均值的方法来实现的

2

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2004-5-12 11:40:00 | 显示全部楼层

Re:关于粒子火焰中模糊算法的问题

意思一样啊,
比如:RGB(rand()%128,rand()%128,rand()%128)和RGB(rand()%256,rand()%256,rand()%256)的平均亮度自然是不一样的啊

9

主题

22

帖子

40

积分

注册会员

Rank: 2

积分
40
 楼主| 发表于 2004-5-12 16:27:00 | 显示全部楼层

Re: 关于粒子火焰中模糊算法的问题

那么如何增加亮度呢?
我这里是不能通过例子中的bright减一,那么将红绿蓝三色的值各加上一个相同的数值能不能增加原来颜色的亮度?

2

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2004-5-12 16:46:00 | 显示全部楼层

Re:关于粒子火焰中模糊算法的问题

增大的话理论上说应该是乘上一个大于1数 (比如1.2f)

9

主题

22

帖子

40

积分

注册会员

Rank: 2

积分
40
 楼主| 发表于 2004-5-12 21:06:00 | 显示全部楼层

Re: 关于粒子火焰中模糊算法的问题

我试过了,如果参数取得较大,大约1.5以上,火焰虽然会冒的较高,但是颜色会变得很亮很难看,总之那不是一种可以用的效果。取较低的值,火焰的表现倒是比原来更真实,但是火焰冒的低的问题仍然无法解决。还有没有别的方法

2

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2004-5-13 20:04:00 | 显示全部楼层

Re:关于粒子火焰中模糊算法的问题

加点儿spark
像Seumas McNally的Particle Fire里的那样
文档里的文章也写了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-24 05:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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