What’s an OpenGL® circle?

Print anything with Printful



Drawing a circle in OpenGL® involves using an algorithm to determine points and connecting them with lines. A circle can be approximated with straight lines, but blending and smooth line drawing can improve the appearance. An OpenGL® disk can also be used, but it is less efficient and may cause graphical artifacts.

There is no real built-in shape primitive for a circle based on the Open Graphics Library (OpenGL®), so drawing a circle involves following a simple algorithm to determine the position of the points, after which the points can be connected with lines to form the circle. In most cases, for a real-time rendering application, an OpenGL® circle is approximated and is actually composed of a number of straight lines that look like a circle when the distance between the endpoints of the lines is short enough. One trick that can help smooth out a circle is to enable blending and use smooth line drawing mode to reduce the appearance of the corners where two lines connect on the perimeter of the circle. Another way to draw a circle is to use the primitive OpenGL® utility form known as a disk, which is essentially a two-dimensional (2D) circle with an additional inner circle that can be set to match the diameter of the outer edge in somewhat inefficiently draws an OpenGL® circle.

The simple definition of a circle is a 2D shape where every edge point is exactly the same distance from any given center point. The basic algorithm for drawing an OpenGL® circle is to draw points from a central coordinate using the sine and cosine functions in a cycle going through the degrees of an angle up to 360°. However, stepping 1 degree at a time is quite inefficient, so steps are usually done in larger increments. The larger the increments, the more angular the circle will appear, with the final example being a circle drawn with only four points, which would make a square.

During each step in determining the coordinate of a point on the edge of an OpenGL® circle, a line can be drawn from the last point to the current point. It is usually faster to use a line stripe to create a complete circle than to draw separate lines individually. Once the points that make up the circle have been calculated, they can be stored in an array and translated like any OpenGL® vertex set.

An OpenGL® disk is a shape primitive that the OpenGL® utility library can draw natively. It is composed of an outer circle and an inner circle, with the area between the inner and outer circles solid and full. The OpenGL® puck can be used to draw an OpenGL® circle by setting the inner radius to match the outer radius, although this technique means that the circle is actually drawn twice due to the inner and outer edges and may leave some graphical artifacts when rotated at different angles.




Protect your devices with Threat Protection by NordVPN


Skip to content