cocos2d-x ClippingNode锯齿状

时间:2015-05-06 08:40:29

标签: android macos cocos2d-x cocos2d-x-3.0

我尝试使用圆形模板制作clippingNode,但结果是边缘不平滑 尝试使用DrawNode.drawDot和Sprite作为模板,结果相同

我也试过很多阈值数,但仍然相同,可能会更糟......这个图像使用的是0.05

有没有让边缘更平滑?

我正在使用cocos2d-x 3.5

ClippingNode

1 个答案:

答案 0 :(得分:0)

使用抗锯齿功能尝试this forum中提供的解决方案:

const char* ccPositionColorLengthTexture_frag = STRINGIFY(

\n#ifdef GL_ES\n
\n#extension GL_OES_standard_derivatives : enable\n

varying mediump vec4 v_color;
varying mediump vec2 v_texcoord;
\n#else\n
varying vec4 v_color;
varying vec2 v_texcoord;
\n#endif\n

void main()
{
 \n#if defined GL_OES_standard_derivatives\n
gl_FragColor = v_color*smoothstep(0.0, length(fwidth(v_texcoord)), 1.0 - length(v_texcoord));\n    
\n#else\n
gl_FragColor = v_color*step(0.0, 1.0 - length(v_texcoord));
 \n#endif\n
}
);

进行一些调整,例如

更改了:

 dot->drawDot(end, DOT_RADIUS / 2.0, color);

为:

dot->drawSegment(start, end, DOT_RADIUS / 2, color);