我在void CCSprite::draw(void)中强制修改混合模式为
m_sBlendFunc.src = GL_SRC_ALPHA;
m_sBlendFunc.dst = GL_ONE_MINUS_SRC_ALPHA;
发现最后输入的结果有点奇怪。以红和(1,1,1,0.5)混合为例子,结果应该是:
(2550.5 + 2550.5, 00.5 + 2550.5, 00.5 + 2550.5) = (255, 127, 127)
而cocos2d-x输出是(191,64,64)
到底怎么回事呢?
cocos2dx-blend.jpg (10.0 KB)
blend-opengl.jpg (4.4 KB)