OGeek|极客世界-中国程序员成长平台

标题: ios - 用 OpenGL ES 2.0/cocos2d 2.0 画圆的最佳方法? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:44
标题: ios - 用 OpenGL ES 2.0/cocos2d 2.0 画圆的最佳方法?

使用 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,我将不胜感激!



Best Answer-推荐答案


使用 ccDrawCircle :

ccDrawCircle(CGPoint center, float radius, float angle, 
             NSUInteger segments, BOOL drawLineToCenter);

增加段数以使圆更平滑。如果你想从代码中学习,可以看看 CCDrawingPrimitives.h 中 ccDrawCircle 的实现。

关于ios - 用 OpenGL ES 2.0/cocos2d 2.0 画圆的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8526578/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4