cocos2d-x学习笔记——双重纹理透明特效

本文介绍了如何在cocos2d-x中实现双重纹理透明特效,通过自定义Command渲染两块纹理并利用shader进行颜色叠加。讲解了不能使用SpriteBatchNode的原因,并分享了遇到的关于矩阵变换的问题及解决方案。附有代码下载链接。
摘要由CSDN通过智能技术生成
 
 
 
1497426363-3627-1334318-adda14f49ab1e4dd
MultiTexture.png
不知道有没有人看到这个效果会眼熟。这个只是将openg es编程指南里面的多重纹理效果移植到cocos2d上面来。但是,本文多了一个可以设置亮度纹理位置和大小的方法。 这种效果可以用来模拟手电筒吧。 就是利用了shader,读取两块纹理,然后通过一定的算法计算出叠加后的色值,最后渲染出来。 我们了解到,渲染sprite的类是TriangleCommand,这个类只能渲染多个三角形,并且只能渲染一块纹理。因此,我们要使用CustomCommand来渲染两块纹理。 我们在CustomCommand的执行回调里面写这样的代码:
        //Load the mv
        _glProgramState->apply(_modelViewTransform);

        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值