お世話になっております。
cocos2d-xでポストエフェクトをかけたいのですがうまく行きません。
前提として通常のシェーダの使い方、基礎知識はある者です。
cocos2d-xではScene、Layer、Spriteと大きく分かれていると思うのですが
Layer単位にポストエフェクトをかけたいと考えております。
以下のコードではうまくいかないことを確認しました。
何か他にうまいやり方は無いでしょうか?
よろしくお願いいたします。
// フィルターのレイヤー作成 m_filterLayer = FilterLayer::create(); addChild(m_filterLayer); // フィルターレイヤーにフィルターをかけたいものを追加する m_filterLayer->addChild(m_pSprite1); m_filterLayer->addChild(m_pSprite2); // UIレイヤー追加 m_testUILayer = TestUILayer::create(); addChild(m_testUILayer); // UIレイヤーにスプライトを追加 m_testUILayer->addChild(m_pUISprite); // シェーダ作成 // レンダーテクスチャにシェーダを設定 m_pShader = GLProgram::createWithFilenames([頂点シェーダ], [フラグメントシェーダ]); m_filterLayer->setGLProgram(m_pShader); m_pShader->bindAttribLocation(GLProgram::ATTRIBUTE_NAME_POSITION, GLProgram::VERTEX_ATTRIB_POSITION); m_pShader->bindAttribLocation(GLProgram::ATTRIBUTE_NAME_COLOR, GLProgram::VERTEX_ATTRIB_COLOR); m_pShader->bindAttribLocation(GLProgram::ATTRIBUTE_NAME_TEX_COORD, GLProgram::VERTEX_ATTRIB_TEX_COORD); m_pShader->link(); m_pShader->updateUniforms();
あなたの回答
tips
プレビュー