cocos2dx DrawNode 启有混合颜色画线会出现透明空白怎么解决?

renderTexture = RenderTexture::create(VisibleX, VisibleY, Texture2D::PixelFormat::RGBA8888);
renderTexture->setContentSize(Size(VisibleX, VisibleY));
renderTexture->setPosition(BUBUFP(480, 320, Center));
this->addChild(renderTexture, 100);
drawNode = DrawNode::create();
drawNode->retain();
以下是在Move里画线:
drawNode->drawSegment(pre, location, 5, Color4F(dataColors.at(curColor)));
renderTexture->begin();
drawNode->visit();
renderTexture->end();
以下是在Move里擦除:
//颜色混合测试
BlendFunc bl = { GL_ONE, GL_ZERO };
drawNode->setBlendFunc(bl);
drawNode->drawSegment(pre, location, 20, Color4F(0,0,0,0));

    renderTexture->begin();
    drawNode->visit();
    renderTexture->end();

问题是,在画线的时候没问题可以画,画完选擦除的时候,启用混合颜色,画的线段就变成有空白间隙了,
请大神指教这个怎么解决。。。
如下图


有没有大神遇到过,急急急,在线等啊!

还会闪烁。这是因为始终使用一个 drawnode 导致的,而且 GL verts,最后会很高。

在 move 里面始终创建画笔可以解决:

    lis->onTouchMoved = [=](Touch *touch, Event *event) {
        Color4F color;
        auto _drawNode = DrawNode::create();
        if (erase) {
            BlendFunc bl = { GL_ONE, GL_ZERO };
            _drawNode->setBlendFunc(bl);
            color = Color4F(0, 0, 0, 0);
        } else {
            color = Color4F(1, 0, 0, 1);
        }
        _drawNode->drawSegment(touch->getPreviousLocation(), touch->getLocation(), 5, color);
        
        _rt->begin();
        _drawNode->cocos2d::Node::visit();
        _rt->end();
    };