11 2014 档案
摘要:其实这里只简单对比3个浏览器,估计也足够代表性了。结论是:1、有webgl支持的时候,就可以尽情的耍吧;2、没有webgl,能native就native。如果不行,就只能在canvas上做小块的区域,减少每帧的变化。1、PC的Chrome(webgl)首先看看官方的performance test。...
阅读全文
摘要:(0xffffffff)>>24; //-1(0xffffffff / 2)>>23; //255argb颜色需要一个无符号整数uint才能存储,如果首位是F,那么第一个二进制位就是1。在右移操作时,编译器误以为这是一个负数,会一直补1,导致最后出来一个负数。而C++里边,这种低级问题就不...
阅读全文
摘要:为了让jsb也能顺利跑起滤镜效果,在手机侧折腾了2天,因为每次在真机上运行总要耗那么半分钟,而且偶尔还遇到apk文件无法删除导致运行失败的情况。这个调试起来,实在让人烦躁加沮丧。还好,测试上百轮,翻jsb代码+各种猜测实验之后,终于顺利的把前3个系列的例子都通通在Android上跑起来了,也算是把兼...
阅读全文
摘要:上一篇,我们学习了怎么便捷的控制sprite的颜色,而这个都是默认一个texture的,如果要实现类似mask的效果,或者更个性化的多纹理效果,怎么实现呢?这就是这一节需要介绍的内容。例如上图的效果,下方2个球是原图,而上方的图就是由2个球通过某个公式合成的效果了。这里重点不是怎么合成,而是怎么把多...
阅读全文
摘要:在Sprite中使用Shader做特殊的颜色处理比较简单,只需要把Shader程序绑定到Sprite上即可:sprite.shaderProgram = alphaTestShader;Cocos2d内置了一些Shader,详细可以看代码:其中,CCShaderCache缓存了一些Shader实例,...
阅读全文
摘要:cocos2d的Shader也就是差不多直接跟GPU打交道了,跟Flash的Stage3D(AGAL)类似,不过没有AGAL这么恶心,不需要直接编写汇编语言。而Fragment Shader又跟Flash的pixelbender类似。本文以cocos2d-js为例,但cocos2dx其他版本也是同理...
阅读全文