为什么我在AtlasNode::draw 下截图不成功

大家好我现在想要实现一个功能是每一帧都截图

我大概看了下引擎应该是AtlasNode::draw下能够使用glreadpixel来截图

但是为什么我截图下来数组里都为0了 下面是我的代码


void AtlasNode::draw(Renderer *renderer, const Mat4 &transform, bool transformUpdated)
{ 
   _quadCommand.init(              
               _globalZOrder, 
             _textureAtlas->getTexture()->getName(),  
            getGLProgramState(),  
            _blendFunc, 
             _textureAtlas->getQuads(), 
             _quadsToDraw,     
           transform); 
glReadPixels(0, 0, 800, 600, GL_BGRA, GL_UNSIGNED_BYTE, buffer);  
  renderer->addCommand(&_quadCommand);
}

ok 我大概已经解决了我在Director::drawScene 使用能够截图

请问Director::drawScene如何截图?
求教