我知道有用于绘制矩形的内置函数(例如glRecti()
),并认为圆也是一个非常基本的用法。
是否有用于绘制圆圈的内置功能?或者我应该自己实施吗?
答案 0 :(得分:1)
gluDisk()
can be used to do so:
void gluDisk(GLUquadricObj *obj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops)
innerRadius
和outerRadius
控制孔和磁盘的大小。将
innerRadius
设置为0.0以呈现实心圆圈 切片:磁盘的边数(例如3为等边三角形,6为a 垫圈20用于圆圈)。
循环:呈现的同心环的数量,例如。 1代表圆圈2代表垫圈。使用较大的循环值可以改善镜面反射光和聚光灯的效果。
答案 1 :(得分:1)
如果您对使用GLU(整体上已弃用)感到满意,那么是的,有。默认情况下,gluDisk()
会渲染一个实心圆,但也可以用于渲染圆形轮廓:
GLUquadric quad = gluNewQuadric();
...
gluQuadricDrawStyle(quad, GLU_SILHOUETTE);
gluDisk(quad, 0.0, radius, 64, 1);
...
gluDeleteQuadric(quad);
以上代码未经测试。
答案 2 :(得分:0)
不,没有内置的openGL功能...阅读本文,开始编写自己的drawCircle函数:
http://www.openglprojects.in/2014/03/draw-circle-opengl.html
<强> ===编辑==== 强>
GLU已弃用且完全不受支持。所以我甚至不建议为这样的库提供内置函数。