找回密码
 注册
搜索
查看: 11762|回复: 105

教程:MTK平台上怎样实现屏幕显示3D特效

[复制链接]
发表于 2008-10-27 13:38:45 | 显示全部楼层 |阅读模式
总体来说,3D效果就是在一个2D的平面上额外地展现一个“深度”的技术,这项技术源自一个几何学的技巧 -- Affine仿射几何。
Affine仿射几何的核心可以用爱因斯坦的幽默E=MC^2的方式来表达:   
  
       X1 = a1 * X + b1 * Y + c1
       Y1 = a2 * Y + b2 * Y + c2

这是一个充满哲学的泛化式表达,它可以具体地表达成:perspective, shear, translate, rotate等。

当然为了使画面达到与真实世界逼真的效果,另外一项技术 resample 必不可少,resample可为我们带来诸如:
fire(焰火屏保), fog(雾化), water(水波纹屏保), blur 等一系列图像处理中常见的操作。

为了将理论上的表述切实应用到MTK平台上去的时候,下列函数就特别加以注意:
(1) gdi_layer_set_position
(2) gdi_layer_set_opacity
(3) gdi_layer_blt_previous
(4) gdi_layer_set_source_key
(5) gdi_layer_create_cf_using_outside_memory

这里特意有意隐瞒了一个至关重要的函数,该函数的功能就是“重定向”将要在实际frame buffer当中的显示图像,
希望 [有心之人] 在看到这篇贴子的时候,从翻一翻MTK工程的源代码吧,我相信最终一定会实现你自己的特效!

欲听下文,请见下回分解。
转载请注明出处,以示对著作权保护。
发表于 2008-10-27 16:41:17 | 显示全部楼层
gdi_layer_flatten?
点评回复

使用道具 举报

发表于 2008-10-29 13:17:45 | 显示全部楼层
等下文。。。。。。
点评回复

使用道具 举报

发表于 2008-10-29 18:07:59 | 显示全部楼层
关注中
点评回复

使用道具 举报

 楼主| 发表于 2008-10-29 22:02:47 | 显示全部楼层
用Mouse移动四个顶点看看!

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="distort" align="middle" height="300" width="250"><param name="allowScriptAccess" value="sameDomain"><param name="movie" value="http://www.pixelfumes.com/blog/jan06/perspectiveDistort.swf"><param name="quality" value="high"><param name="bgcolor" value="#000000"><param name="base" value="http://www.pixelfumes.com/blog/jan06/"><embed src="http://www.pixelfumes.com/blog/jan06/perspectiveDistort.swf" quality="high" bgcolor="#000000" name="distort" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" base="http://www.pixelfumes.com/blog/jan06/" align="middle" height="300" width="250" ></embed></object>
点评回复

使用道具 举报

 楼主| 发表于 2008-10-29 22:06:15 | 显示全部楼层
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="250" height="300">
<param name=movie value="http://www.pixelfumes.com/blog/jan06/perspectiveDistort.swf">
<param name=quality value=high>
<embed src="http://www.pixelfumes.com/blog/jan06/perspectiveDistort.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="250" height="300">
</embed>
</object>
点评回复

使用道具 举报

 楼主| 发表于 2008-10-29 22:06:57 | 显示全部楼层
用Mouse移动四顶点看看
点评回复

使用道具 举报

发表于 2008-10-31 21:24:53 | 显示全部楼层
以下是引用MTKPHONE在2008-10-29 22:06:57的发言:
用Mouse移动四顶点看看

我手头上也有一个,引擎应该是一样的吧:)


【文件名】:081031@52RD_OPVG_Demo.rar
【格 式】:rar
【大 小】:184K
【简 介】:
【目 录】:
点评回复

使用道具 举报

 楼主| 发表于 2008-11-1 13:34:45 | 显示全部楼层
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/gpKmOBcR0vk&color1=0xb1b1b1&color2=0xcfcfcf&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/gpKmOBcR0vk&color1=0xb1b1b1&color2=0xcfcfcf&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>
点评回复

使用道具 举报

发表于 2008-11-7 16:54:03 | 显示全部楼层
不错,学习一下!
点评回复

使用道具 举报

发表于 2008-11-7 22:11:00 | 显示全部楼层
敝人先用黑白图片做出效果动画图,再根据黑白动画去显示,就省略了乱七八糟的算法了,呵呵
点评回复

使用道具 举报

发表于 2008-11-10 17:41:43 | 显示全部楼层
期待。。。。
点评回复

使用道具 举报

发表于 2008-11-10 19:33:23 | 显示全部楼层
哈哈, 真的有人公开代码了
点评回复

使用道具 举报

发表于 2008-11-10 19:40:24 | 显示全部楼层
MTKPHONE你这人真好呀,今天终于拿到了你的源代码,需要我在这里演示下吗?
点评回复

使用道具 举报

 楼主| 发表于 2008-11-10 19:44:54 | 显示全部楼层
我会不断更新的, 唯一一点小小的要求是, 请你尊重一下著作权就可以了.
点评回复

使用道具 举报

发表于 2008-11-15 14:10:29 | 显示全部楼层

Thanks

以下是引用MTKPHONE在2008-11-10 19:44:54的发言:
我会不断更新的, 唯一一点小小的要求是, 请你尊重一下著作权就可以了.


mtkphone,我拜读了您的MTK3d特效和手机模拟器实现的文章,也看到了《关于MTK平台上3D特效源代码》,看来您的技术实力不错呀,很有专研精神。能将您的3D特效代码共享一下,我也学习一下吗?我的邮箱是CAPCHER0110@hotmail.com。非常感谢!
点评回复

使用道具 举报

发表于 2008-11-16 20:40:30 | 显示全部楼层
MTKPHONE你这人真好呀,今天终于拿到了你的源代码
本文来自:我爱研发网(52RD.com) 详细出处:http://www.52rd.com/bbs/Detail_RD.BBS_141012_67_1_1.html
点评回复

使用道具 举报

发表于 2008-11-16 22:27:13 | 显示全部楼层
不好意思,上面弄错了。可以发一份源代码给我?谢谢. do_now@163.com
点评回复

使用道具 举报

发表于 2008-11-17 12:10:30 | 显示全部楼层
能给发一份源代码给我?谢谢!kevin98.hi@163.com
点评回复

使用道具 举报

发表于 2008-11-17 13:17:39 | 显示全部楼层
MTK各平台08A版本都有好几种效果的实现源码,都官方开源了。。。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

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

GMT+8, 2024-11-27 10:35 , Processed in 0.070331 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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