透明度/アルパが CCRenderTexture でどのように機能するかわかりません。
このコードでは、赤の ColorLayer の上に半分透明な白を期待していました (透明度は CCLayerColor で機能します)。私が得るのは完全な白です。
このコードは、HelloWorldLayer init メソッドの最後でデフォルトのテンプレートに追加されるだけです。
CCLayerColor * lc = [CCLayerColor layerWithColor:ccc4(255.0f, 0.0f, 0.0f, 125.0f)];
[self addChild:lc];
CCRenderTexture * rt = [CCRenderTexture renderTextureWithWidth:480.0f
height:320.0f];
[self addChild:rt];
rt.position = ccp(240.0f,160.0f);
[rt beginWithClear:1.0f g:1.0f b:1.0f a:0.5f];
[rt end];
黒に変更すると、半分透明な黒になります:
[rt beginWithClear:0.0f g:0.0f b:0.0f a:0.5f];
アルファ 0.0f とグリーン 1.0 を使用すると、グリーンになります。
本当の問題は、その RT では、フラグメント シェーダーで透明度を白で描画できないことです。
gl_FragColor = vec4( 1.0, 1.0, 1.0, 0.5);
完全な白になります。
何か案が?