2015-05-06 48 views
1

我儘量讓同圓模板clippingNode,但結果是邊緣不光滑 與DrawNode.drawDot和雪碧作爲模板,同樣的結果嘗試的cocos2d-x ClippingNode鋸齒

我也試圖與許多門檻數字,仍然是相同的,可能會更糟糕..此圖像正在使用0.05

是否有反正使邊緣更平滑?

我使用了cocos2d-X 3.5

ClippingNode

回答

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);