今回のエンジニアブログを担当する大原です。 演出部分を作っていく中で、色付きのキャラクタからグレーに向かってアニメーションさせたいときがあります。 Cocos2d-xで簡単に実装するのであれば、色付きの画像を奥にグレースケールの画像を手前に用意することで、グレースケールを透過させるアニメーションを実装するのが一番簡単な方法です。 しかし、その場合2種類分の画像を用意しなければならず、画面全体を覆うようなテクスチャであれば、容量を圧迫します。 そこで、Shaderによるグレースケールの変換を行いたいと思います。 シェーダーのコーディング まずは、Shaderコードを書きます。 頂点シェーダーはとても単純なものです。 attribute vec4 a_position; attribute vec2 a_texCoord; attribute vec4 a_color; #ifdef GL_E