找回密码
 注册
搜索
查看: 6130|回复: 57

MTK平台实现火焰菜单的原理

[复制链接]
发表于 2009-8-18 09:27:00 | 显示全部楼层 |阅读模式
此贴用来抛砖引玉,主要为了招人。我们做的是MTK一流的技术,在6225主流平台上实现超炫的视觉效果和用户体验。
以下是我们在6W行代码的音乐播放器中内置的菜单火焰叠加效果。

主菜单火焰
[upload=jpg]UploadFile/2009-8/09818@52RD_Snap2.jpg[/upload]


首先你要在网上找到一套火焰的算法,目前最多的是codeproject上出现的specialfx.
specialfx包含三个算法,水波纹、火焰、熔岩。前两种被使用的最广,也是最简单最佳的算法。
水波纹我们也用在一种可视化效果中,对其代码进行了深层优化,保证了6225平台的流畅,大概每秒可以刷到10帧。
不管是水波纹还是火焰,统统都用的双矩阵交互计算的,水波纹是扩散emboss算法,火焰是gussian blur算法。前者会生成浮雕矩阵,后者是高斯模糊矩阵。
我们对高斯模糊矩阵进行了改进,让其在纵向方向的blur value更大,使得火焰呈现出快速升腾效果。
矩阵一般使用U8类型的数据,这样需要width * height * 2的两个矩阵内存,MTK平台肯定开的到这么多内存,全屏也才150kb。
但考虑高斯模糊的运算量,使用全屏会降低25平台的性能,这里使用半屏矩阵。
将矩阵清零,在其中一个矩阵的最末尾一行,生成火焰种子,就是顺序填入rand()值。
然后高斯模糊到第二矩阵,并将目标值向上移动两行,达到升腾效果。
接着是在第二矩阵中添加火星,可以使用一个spot[50]的数组,分别记录left、top、spped、alpha等参数,alpha、top递减,形成升腾效果,然后加到第二矩阵中。
有了矩阵还需要添加颜色。
使用256的pallette数组,双字节,用来记录256个颜色值。然后像GUI那样,用不同的4个定色平均赋给这个数组的4个位置,比如[0][85][170][255],[0]给黑色,[85]给深蓝色,[170]给浅蓝色,[255]给接近白色的蓝色,其他值用这些值的加权平均填充。可以参考specialfx。
这样,第二矩阵的U8 value值,对应着pallette数组的颜色值,就可以直接取颜色了。
最后是颜色叠加,使用photoshop的overlay效果,直接做颜色加法。
如,第一色的RGB是(0,0,128),第一色的底色是(0,128,200),则rgb分别做加法,大于255按255计算,得到(0,128,255),效果都可以参考specialfx,其中也有颜色叠加效果。

对不起各位,这里没有一行参考代码,想要学到这些东西的可以到我们的团队来,可以看到做到更多更有意义的软件。
接下来是广告时间。

上海滩No1设计公司,No1软件部门,曾创造出业界第一个多种菜单特效,第一个全屏3D翻转特效,第一个超牛音乐播放器。
本部门荣获过公司最佳团队奖、最佳创新奖,每年申请专利超过5个。
因老板寄予期望太大,手头上待开发的功能排着队的,MMI太少,需要多招几位兄弟来帮忙,携手共创MTK最牛应用平台。

需要特别说明几点:
1、大公司基本能满足您的要求,四金+补贴+两次奖金+增值业务奖;
2、可以学到MTK最牛的编程经验,不会每天解bug发版本;
3、要做的事情,25平台流畅实现各种特效,35平台赶超iphone的软件设计;
4、我们是一个很完整的团队,包含GUI、UI、MMI;
5、目前有一个MMI、一个高级MMI的职位,静待您的简历;
6、对您的要求,至少MTK平台一年工作经验、上海、25-35岁、男女不限;
7、自认为是高手希望成为大师级的,或者是熟练希望成为高手的,或者有能力但每天都在解bug发版本郁闷着的,或者想在山寨平台上超越iphone、nokia设计的。

简历请发到我的私人邮箱  mwsoft@gmail.com

本文来自:我爱研发网(52RD.com) 详细出处:http://www.52rd.com/bbs/Detail_RD.BBS_165376_67_1_1.html



[此贴子已经被作者于2009-8-19 8:46:56编辑过]
发表于 2009-8-18 10:21:00 | 显示全部楼层
从开源社区搞些pc上的代码, 然后优化优化放手机上, 也没多大意思. 有没有原创?
点评回复

使用道具 举报

 楼主| 发表于 2009-8-18 10:35:00 | 显示全部楼层
回一楼,已添加两种原创视觉效果,在25上每秒10帧。

就算是使用开源的算法,加以优化,不同的优化方式也决定不同的速度。我看过其他厂家做的水波纹,每秒2-3帧,但我们可以做到10帧。
特效只是软件中的很小一部分。
其他代码中包含了众多的高级功能,良好的人机交互,瞬间打开上千首歌曲列表立即能数字搜索的数据库引擎,2个原创专利,超过10种效果算法。
我们的目标是,逐个模块打造MTK上最强软件平台,在25平台上达到iphone效果和速度,实现PC高级功能。
欢迎各位加盟。
[此贴子已经被作者于2009-8-19 9:29:32编辑过]
点评回复

使用道具 举报

发表于 2009-8-18 12:00:00 | 显示全部楼层
http://www.codeproject.com/KB/graphics/specialfx.aspx
点评回复

使用道具 举报

发表于 2009-8-18 23:16:00 | 显示全部楼层
原创又能怎样?你需要两个150k,也就是300k,你以为128-32的flash在大家做了这么多应用的前提下,还有空间吗?你这几张图最多也就是在pc上模拟的效果!估计在手机上10桢也是又是汇编优化,又是用内部ram的效果!大部分设计公司没有内部ram给你用!另外,你音乐播放器如果同时显示歌词,同时播放音乐,你还能10桢!??
点评回复

使用道具 举报

发表于 2009-8-19 02:24:00 | 显示全部楼层
这不是LC 的UU player吗?
点评回复

使用道具 举报

发表于 2009-8-19 02:26:00 | 显示全部楼层
仁兄是技术规划部的吧,哈哈
点评回复

使用道具 举报

 楼主| 发表于 2009-8-19 08:46:00 | 显示全部楼层
以下是引用dollfacedboy在2009-8-18 23:16:25的发言:
原创又能怎样?你需要两个150k,也就是300k,你以为128-32的flash在大家做了这么多应用的前提下,还有空间吗?你这几张图最多也就是在pc上模拟的效果!估计在手机上10桢也是又是汇编优化,又是用内部ram的效果!大部分设计公司没有内部ram给你用!另外,你音乐播放器如果同时显示歌词,同时播放音乐,你还能10桢!??



没有用汇编优化,没有用interram,用的media共享内存,退出释放.
同时显示歌词和视觉效果,那是传统做法,MTK在08都抛弃这种做法了,所以我们也不会去挤满显示。
有问题可以来我公司当面PK。
[此贴子已经被作者于2009-8-19 12:11:45编辑过]
点评回复

使用道具 举报

 楼主| 发表于 2009-8-19 09:19:00 | 显示全部楼层
以下是引用lqskoei在2009-8-19 2:25:42的发言:
仁兄是技术规划部的吧,哈哈


我们独立成部门已经很久了,非技术规划部。
点评回复

使用道具 举报

发表于 2009-8-19 09:20:00 | 显示全部楼层
楼主有性格,顶你。
点评回复

使用道具 举报

发表于 2009-8-19 10:01:00 | 显示全部楼层
帮你顶一下!
点评回复

使用道具 举报

发表于 2009-8-19 10:15:00 | 显示全部楼层
弱弱的问一下,哪个公司的? 上海滩NO.1
点评回复

使用道具 举报

发表于 2009-8-19 12:34:00 | 显示全部楼层
我的问题同楼上
点评回复

使用道具 举报

 楼主| 发表于 2009-8-19 13:04:00 | 显示全部楼层
自然是LCT
点评回复

使用道具 举报

发表于 2009-8-19 13:31:00 | 显示全部楼层
龙旗给钱少了点,当年开了offer也没去,估计大公司都比较抠吧.
点评回复

使用道具 举报

 楼主| 发表于 2009-8-19 14:00:00 | 显示全部楼层
全MTK平台与人才向钱看齐,很多人只毕业两三年开口就要十几K,整个行业过于浮躁。
更多的人学到了什么,看别人的代码、做list category、集成SPCP、改bug、调过电话本短消息、发版本?
期待真正想静心做软件的。
点评回复

使用道具 举报

发表于 2009-8-19 14:20:00 | 显示全部楼层
以下是引用evolrof在2009-8-19 13:59:46的发言:
全MTK平台与人才向钱看齐,很多人只毕业两三年开口就要十几K,整个行业过于浮躁。
更多的人学到了什么,看别人的代码、做list category、集成SPCP、改bug、调过电话本短消息、发版本?
期待真正想静心做软件的。


1.人正鬼都怕
2.无欲则刚
3.技术好产品好,不一定是好产品
4.山寨垃圾一样有人爱,也是好产品.

看楼主对市场对产品的看法,不能太傲.高手之外还有高手.
点评回复

使用道具 举报

发表于 2009-8-19 21:04:00 | 显示全部楼层
以下是引用evolrof在2009-8-19 8:45:57的发言:
?


没有用汇编优化,没有用interram,用的media共享内存,退出释放.
同时显示歌词和视觉效果,那是传统做法,MTK在08都抛弃这种做法了,所以我们也不会去挤满显示。
有问题可以来我公司当面PK。

pk就不必了,年青人毕竟气盛!列出你的硬件配置,才有说服力!比如flash,lcd规格,你如果用的nand,再如果是176x220的,另外只有图片,大家也没有看到实际效果!算法的复杂度摆在那里!基本上一桢需要多少tick,可以估算出来!另外还有算法精度的问题!,你的图片,只是效果图,并非手机上的实拍图!
点评回复

使用道具 举报

发表于 2009-8-19 21:43:00 | 显示全部楼层
以下是引用evolrof在2009-8-19 13:59:46的发言:
全MTK平台与人才向钱看齐,很多人只毕业两三年开口就要十几K,整个行业过于浮躁。
更多的人学到了什么,看别人的代码、做list category、集成SPCP、改bug、调过电话本短消息、发版本?
期待真正想静心做软件的。

想必楼主也是赚的不少的,行业的工资是由市场决定的,这是一个浮躁的年代,mtk也是一个浮躁的平台,真正能静下心来做软件的只有三种人:一种是刚入社会,年少无求!一种是钱赚的很多,多的让心很静,第三种是傻子!敢问楼主,我给你3k,你过来我公司专心,静心做软件,好吗?不管做什么不在于做了多久,有些人两三年就步入高手行列,有些人10年也就是平平!楼主不适合做单芯片的方案!单芯片就是高集成度,超短的开发周期!大家有理由浮躁,但要浮躁的理智,浮躁的不失冷静!再问楼主,如果楼主想把mtk做成nokia,那就已经不是mtk了!再问楼主,如果真的让楼主去做别的平台,看样子楼主不太懂驱动和底层的东东,所以肯定转不了!如果还是mmi或者中间层!我不知道楼主是否对mfc有所研究,是否精通vs之类的集成开发环境,又是否玩的转嵌入式linux!另外以楼主对于特效的热爱,恐怕也做不来枯燥的协议栈开发!如果没有mtk的浮躁,我想楼主也只能拿着5、6k的薪水,愁眉苦脸的写着枯燥的程序!
点评回复

使用道具 举报

 楼主| 发表于 2009-8-20 08:51:00 | 显示全部楼层
我觉得楼上这位的讨论已经脱离了这个帖子本身所要表达的内容:1、技术交流;2、招聘
你这么火大干嘛,我又不是说要招你只给你几百块,也没有说你的技术不如我们。
如果你不懂得以武会友,你可以去其他帖子里嘶声力竭。
我们也不需要PK,一山还有一山高,我们的产品已经在公司全部25、35平台上运行且出货三个月了。
LCT不是小公司,否则不会有一千多人留下来,不会只开3K的薪水,水平高的也不止10K。

大家做MTK的目的是把MTK给做好,如果仅停留在原始版本的基础上,像很多公司仅添加SP就出货,那LCT也没有竞争力了。
MTK最需要的就是差异化,我们花很多的时间和精力完成的就是差异化的工作,缩小MTK与其他高端平台的差距,充分发挥MTK平台性能。
就如同mp4解码一样,不同的公司在速度和效果上差异还是很大的,为什么有人去优化,为什么有公司愿意掏这个钱去买快两帧显示效果略微好点的产品,只说明了差异化的产品能够得到市场的认可。
大家像卖白菜一样的,去批发主板电池,这样弱智的nokia会嘲笑我们,且差距越来越大。
nokia这几年都干了什么,学会了索爱的换壳发布会,弱智低能的symbian系统越来越跟不上苹果LG三星的脚步。
这时候是强占nokia市场的最佳时机,我们用什么去抢,只用价格?
我们究竟要做到怎样,才能赶走这些国际巨头,中国人的钱只给大陆和台湾省赚。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-8 03:42 , Processed in 0.049690 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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