使用 cc.GLNode 在当前场景添加 LayerColor 问题,图片变得不可见,shader效果半透明了

做了一个扑克的shader效果,
this._glNode = new cc.GLNode();
this.addChild(this._glNode, 100);
//创建glProgram
this.glProgram = new cc.GLProgram(res.shader_test_vsh, res.shader_test_fsh);
this.glProgram.retain();
this.glProgram.link();
this.glProgram.updateUniforms();

//重写Draw方法
this._glNode.draw = function () {
//启用面剔除
gl.enable(gl.CULL_FACE);

            this.glProgram.use();
            this.glProgram.setUniformsForBuiltins();

            //绑定卡背纹理
            gl.bindTexture(gl.TEXTURE_2D, this._CardBack.getName());
            this.addVertsTexCoord(this._backVertsBuffer, this._backTexsBuffer);
            //绑定卡面纹理
            gl.bindTexture(gl.TEXTURE_2D, this._CardFace.getName());
            this.addVertsTexCoord(this._faceVertsBuffer, this._faceTexsBuffer);
            //停止面剔除
            gl.disable(gl.CULL_FACE);
        }.bind(this);

这是没有添加LayerColor

下面是在当前场景任意地方添加LayerColor后

代码如下,层级最低都没用
var markBg = new cc.LayerColor(cc.color(0, 0, 0, 120), 1920, 1080);
markBg.x = cc.winSize.width / 2 - 960;
markBg.y = cc.winSize.height / 2 - 540;
this.addChild(markBg);

引擎版本Cocos2d-js 3.15.1
请问不移除LayerColor的情况下如何处理才能正常显示
cc.GLNode不能设置层级吗?
求大神!!!

gl.enableVertexAttribArray(cc.VERTEX_ATTRIB_POSITION);
gl.enableVertexAttribArray(cc.VERTEX_ATTRIB_TEX_COORDS);
加了这两句解决

为什么web上GLNode找不到,模拟器就可以

请问你这是做搓牌那个特效吗