如何将CCClippingNode正确呈现给CCRenderTexture

时间:2014-05-30 12:28:50

标签: c++ opengl cocos2d-x

我想将CCClippingNode渲染为CCRenderTexture,但我得到的只是一个平坦的纹理。

这就是我想要的:

enter image description here

这就是我得到的:

enter image description here >

来自Custom CCRenderTexture子类的

代码片段:

    CCClippingNode* clipper = CCClippingNode::create(maskSprite);
    clipper->setAlphaThreshold(0);
    clipper->addChild(textureSprite);

    begin();

    clipper->visit();

    end();

1 个答案:

答案 0 :(得分:0)

做到了:

    textureSprite->setBlendFunc((ccBlendFunc){GL_ONE, GL_ZERO});
    maskSprite->setBlendFunc((ccBlendFunc){GL_DST_ALPHA, GL_ZERO});

    begin();

    textureSprite->visit();
    maskSprite->visit();
    textureSprite->setBlendFunc((ccBlendFunc){GL_DST_ALPHA, GL_ZERO});
    textureSprite->visit();

    end();