cocos2dx 3.13 etc1 ClippingNode Bug 修正

void TrianglesCommand::useMaterial() const
{

    if(_stencl){

        /*******[solyess] etc1 mask的支持*****************/
        //Set texture
        //GL::bindTexture2D(_textureID);

        if (_alphaTextureID > 0)
        { // ANDROID ETC1 ALPHA supports.
            GL::bindTexture2D(_alphaTextureID);
        }
        else{
            GL::bindTexture2D(_textureID);
        }
        //set blend mode
        GL::blendFunc(_blendType.src, _blendType.dst);

        _glProgramState->apply(_mv);
        /*******[solyess]end etc1 mask的支持*****************/
    }else{
        //Set texture
        GL::bindTexture2D(_textureID);

        if (_alphaTextureID > 0)
        { // ANDROID ETC1 ALPHA supports.
            GL::bindTexture2DN(1, _alphaTextureID);
        }
        //set blend mode
        GL::blendFunc(_blendType.src, _blendType.dst);

        _glProgramState->apply(_mv);
    }
}
GLProgramState* GLProgramState::getOrCreateWithGLProgramName(const std::string& glProgramName, Texture2D* texture)
{
    /*******[solyess] etc1 mask的支持*****************/
    if (texture != nullptr && texture->getAlphaTextureName() != 0 && texture->getisStencl() == false) {
        if (glProgramName == GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR) {
            return GLProgramState::getOrCreateWithGLProgramName(GLProgram::SHADER_NAME_ETC1AS_POSITION_TEXTURE_COLOR);
        }
        else if (glProgramName == GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP) {
            return GLProgramState::getOrCreateWithGLProgramName(GLProgram::SHADER_NAME_ETC1AS_POSITION_TEXTURE_COLOR_NO_MVP);
        }
        else if (glProgramName == GLProgram::SHADER_NAME_POSITION_GRAYSCALE) {
            return GLProgramState::getOrCreateWithGLProgramName(GLProgram::SHADER_NAME_ETC1AS_POSITION_TEXTURE_GRAY_NO_MVP);
        }
    }

    return GLProgramState::getOrCreateWithGLProgramName(glProgramName);
}
时间: 2024-08-26 03:47:13

cocos2dx 3.13 etc1 ClippingNode Bug 修正的相关文章

Bug修正+WBS功能分解

名称:nice! 项目名称:约跑app 组长:李权 成员:韩媛媛 刘芳芳 宫丽君 于淼 Bug修正: 1.我看到的现象:退出当前的账号后,按返回键可以再次进入登录界面. 期待的现象:能够安全登陆和退出. 二者的差异:没有能像期待中安全退出. Bug原因猜测:在android的application中有一个栈的数据结构存储app点击后的activity.当用户按返回后的退出键时,返回到栈顶的activity.所以出现了以上的bug情况. Bug重现的步骤:在登录成功之后,按退出登录之后,再按手机的

(用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正

原文:(用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正 native支付模式一demo(用微信扫的静态链接二维码)BUG修复,一共4个BUG 1.native_call_qrcode.php这个文件中的代码无法生存native支付的短地址2.WxPayPubHelper.php中某个代码获取不到WxPayConf_pub类定义的常量CURL_TIMEOUT3.WxPayPubHelper.php curl中cURL会话并且异常释放资源4.微信支付长地址

关于xib连线错误的bug修正

今天code的时候,发现xib加载除了问题,研究了一会发现了一个问题 在连线的时候, object一定要选择,你连线的view,而不是 File's Owner 关于xib连线错误的bug修正

NVelocity-0.4.2.8580 的修改记录 -- "It appears that no class was specified as the ResourceManager..." bug 修正等

因为另有开发记录工具最新没怎么在 cnblog 写开发备忘.不过我觉得这个是个比较严重的问题,觉得有必要让更多的人知道处理方法,所以在 cnblog 也放上一篇希望广为传播. -------------------------------------------------- 第一次修改 -------------------------------------------------- NVelocity 这个工具的使用相信大多数网友都是因为和我一样在 java 时使用的是 Velocity

cocos2dx 3.13 simulator的问题

下载新的cocos2dx 3.13,想使用simulator来运行lua项目,结果发现使用vs2013编译不通过. 1. 9>main.cpp(5): error C2146: 语法错误: 缺少“;”(在标识符“wWinMain”的前面)9>main.cpp(9): warning C4007: “wWinMain”: 必须是“__stdcall”9>main.cpp(9): error C4430: 缺少类型说明符 - 假定为 int.注意: C++ 不支持默认 int 解决办法: 将

cocos2dx 3.9.1 mac模拟器log输出bug修正

今天发现某些情况下mac模拟器会出现不输出log的情况, 跟踪了一下发现问题出现在mac/SimulatorApp.mm文件的handleNotification方法. NSString *str = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]; 这句代码在某些情况下str会为nil值导致模拟器不会输出任何log,  原因可能是data的编码中存在个别字符乱码导致整体不输出的情况

C++ Primer第18章Vector的再实现及bug修正

C++Primer第18.1.2节在介绍allocator类的时候,给了一个仿照标准库中vector的例子.感觉示例代码非常好,但是本人发现了一个bug,与大家共享. 按照作者的示例程序,编译程序时总是在alloc.construct()函数处报错,不同IDE可能提示的错误原因不同,本人的是undefined reference to `Vector<std::string>::alloc'. 仔细想想,应该与类Vector中alloc成员的静态属性有关,因此有两种修正方式: 1)删去stat

KDE修复了一个13年前的Bug

关于Linux的学习,请参考书籍<Linux就该这么学> 大约50名KDE开发者在瑞士阿尔卑斯山参加年度编程活动Randa Meetings,他们在此期间终于修复了一个有13年历史的Bug.Kate编辑器维护者Christoph Cullmann在2003年9月递交了这个bug,问题与Kate工具栏图标奇怪的移动行为和图标消失有关,该bug的重要等级被数百用户投票为重要,但开发者一直没有抽出时间修正这个问题.在bug递交时,Linux内核的版本号还是2.6.31,Windows XP还是最新的

13 年的 Bug 调试经验总结

在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug.最近,我回顾了我所有的194个条目(从13岁开始),看看有什么经验教训是我可以学习的.下面是我总结的最重要的经验教训,包括编码,测试和调试三个方面.编码下面这些都是我经历过的会导致难点bug的问题:1.事件顺序.在处理事件时,提出下列问题会很有成效:事件可以以不同的顺序到达吗?如果我们没有接收到此事件会怎么样?如果此事件接连发生两次会怎么样?哪怕通常不会发生,但系统(或交互系统)其他