zoukankan      html  css  js  c++  java
  • 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);
    }
  • 相关阅读:
    英语四级day1
    Hadoop实战
    Red Hat
    SQL Cookbook
    Java改错学习法
    Java程序设计经典300例
    Git
    ColorOS和MIUI双系统安装笔记
    深入浅出MySQL数据库开发、优化于管理维护
    剑指Offer名企面试官精讲典型编程题
  • 原文地址:https://www.cnblogs.com/czjone/p/5899141.html
Copyright © 2011-2022 走看看