使用OpenGL ES 2.0绘制圆圈的最佳方法是什么?
我正在使用cocos2d 2.0(目前为测试版)开发iPad / iPhone项目,该项目使用OpenGL ES 2.0和着色器而不是OpenGL ES 1.0。
在我以前的项目中,我使用了SneakyInput包中包含的方便的类ColoredCircleSprite。但是现在使用OpenGL ES 2.0,代码不再起作用了,说实话,我从头开始编写自己的解决方案时有点迷失。我需要一个绘制光滑圆圈的CCSprite子类。 (也许带有一点阴影着色器......)
我应该在顶点着色器中构建一个矩形形状,然后丢弃片段着色器中圆半径外的每个像素吗?或者我应该在顶点着色器内构建圆顶点?
网上有关于此主题的任何好的教程吗?作为OpenGL-n00b,我会感激各种帮助!
答案 0 :(得分:2)
使用ccDrawCircle:
ccDrawCircle(CGPoint center, float radius, float angle,
NSUInteger segments, BOOL drawLineToCenter);
增加细分数量以使圆圈更平滑。如果您想从代码中学习,请查看CCDrawingPrimitives.h中ccDrawCircle的实现。