分享一种场景灰化的方法

代码如下

	Size size = _director->getWinSize();
	auto frameBuffer = experimental::FrameBuffer::create(1, size.width, size.height);
	auto rt = experimental::RenderTarget::create(size.width, size.height);
	auto ds = experimental::RenderTargetDepthStencil::create(size.width, size.height);
	frameBuffer->attachRenderTarget(rt);
	frameBuffer->attachDepthStencilTarget(ds);
	frameBuffer->setClearColor(Color4F(0, 0, 0, 1));

	Camera* pCamera = pScene->getDefaultCamera();
	pCamera->setFrameBufferObject(frameBuffer);
	
	pCamera = Camera::create();
	pCamera->setCameraFlag(CameraFlag::USER1);
	this->addChild(pCamera);

	auto pSprite = Sprite::createWithTexture(rt->getTexture());
	pSprite->setPosition(size /2);
	pSprite->setCameraMask(2);
	pSprite->setFlipY(true);
	auto glState = GLProgramState::getOrCreateWithGLProgramName(GLProgram::SHADER_NAME_POSITION_GRAYSCALE);
	pSprite->setGLProgramState(glState);
	this->addChild(pSprite);

TableView的实际显示区域会被裁减

cocos2dx 是那个版本的?

3.14.1