Cocos4.0中的shader究竟怎么用啊?

3.17来是这样的:
m_pProgram = GLProgram::createWithByteArrays( strVertexCode, strFragmentCode );
m_pProgramState = GLProgramState::getOrCreateWithGLProgram( m_pProgram );

4.0可以改成这样:
m_pProgram = backend::Device::getInstance()->newProgram(strVertexCode, strFragmentCode);
m_pProgramState = new (std::nothrow) backend::ProgramState(m_pProgram);

3.17的这个代码:
m_pProgram->use(); m_pProgramState->apply( modelView );
4.0里面不知道改成什么样了?

还有这些呢?
m_pProgramState->setUniformInt( m_pShaderUniformLocation[nUniformLocal], nValue );
m_pProgramState->applyUniforms();
在4.0里面怎么改啊?
据说4.0加入了Metal 那这些自定义的OGL Shader怎么办呢?

希望官方给与说明,升级后我也有很多被弃用的函数现在不会用了,此外label有bug,会死机,自己改不好,这些都希望官方能早点修正

都变成setUniform了 参数传地址