gpt4 book ai didi

objective-c - 填充抗锯齿 poly cocos2d

转载 作者:行者123 更新时间:2023-11-29 11:16:22 25 4
gpt4 key购买 nike

如何在 Cocos2D 框架中绘制填充多边形?

下面的代码绘制多边形但没有抗锯齿。我应该更改什么?

void ccFillPoly( CGPoint *poli, int points, BOOL closePolygon )
{
// Default GL states: GL_TEXTURE_2D, GL_VERTEX_ARRAY, GL_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY
// Needed states: GL_VERTEX_ARRAY,
// Unneeded states: GL_TEXTURE_2D, GL_TEXTURE_COORD_ARRAY, GL_COLOR_ARRAY
glDisable(GL_TEXTURE_2D);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);

glVertexPointer(2, GL_FLOAT, 0, poli);
if( closePolygon )
// glDrawArrays(GL_LINE_LOOP, 0, points);
glDrawArrays(GL_TRIANGLE_FAN, 0, points);
else
glDrawArrays(GL_LINE_STRIP, 0, points);

// restore default state
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnable(GL_TEXTURE_2D);
}

最佳答案

模拟抗锯齿的一种好方法是在多边形周围添加透明顶点。这种方法快速且美观,但实现起来难度不大。 Here is solution for antialiased lines .

如果您不担心性能,您可以多次渲染具有一定透明度的多边形并偏移 1 个像素。这适用于没有纹理的多边形。

关于objective-c - 填充抗锯齿 poly cocos2d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9257728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com