2

有人可以指导我如何将着色器应用于 Beta 3.0 中的 RenderTexture,我使用以下代码将着色器应用于 renderTexture 对象,但该代码似乎不再适用于 Cocox2dX Beta 3.0

void TestLayer::initRenderTexture()
 {
    m_renderTexture = CCRenderTexture::create(utility::WindowSize.Size.width,utility::WindowSize.Size.width);


    cocos2d::CCGLProgram *pShaderProgram = new CCGLProgram();
    pShaderProgram->initWithVertexShaderByteArray(ccPositionTextureA8Color_vert, myFragSource);

    m_renderTexture->getSprite()->setShaderProgram(pShaderProgram);
    m_renderTexture->getSprite()->getShaderProgram()->addAttribute(kCCAttributeNamePosition, kCCVertexAttrib_Position);
    m_renderTexture->getSprite()->getShaderProgram()->addAttribute(kCCAttributeNameColor, kCCVertexAttrib_Color);
    m_renderTexture->getSprite()->getShaderProgram()->addAttribute(kCCAttributeNameTexCoord, kCCVertexAttrib_TexCoords);
    m_renderTexture->getSprite()->getShaderProgram()->link();
    m_renderTexture->getSprite()->getShaderProgram()->updateUniforms();

    m_renderTexture->getSprite()->getShaderProgram()->use();

    //add renderTexture Object to layer
     addChild(m_renderTexture);
}

谢谢鲁玛托马斯

4

0 回答 0