Wat is een OpenGL®-cirkel?
Er is geen echte ingebouwde primitieve vorm voor een basis Open Graphics Library (OpenGL®) cirkel, dus het tekenen van een cirkel omvat het volgen van een eenvoudig algoritme om de locatie van de punten te bepalen, waarna de punten met lijnen kunnen worden verbonden om de cirkel. In de meeste gevallen wordt een OpenGL®-cirkel benaderd voor een realtime renderingapplicatie en bestaat deze eigenlijk uit een aantal rechte lijnen die op een cirkel lijken wanneer de afstand tussen de eindpunten van de lijnen kort genoeg is. Een truc die kan helpen om een cirkel glad te maken, is om overvloeien in te schakelen en de vloeiende lijntekenmodus te gebruiken om het uiterlijk van de hoeken te verminderen waar twee lijnen op de omtrek van de cirkel aansluiten. Een andere manier om een cirkel te tekenen is het gebruik van de OpenGL®-primitief vorm, bekend als een schijf, die in wezen een tweedimensionale (2D) cirkel is met een extra binnencirkel die kan worden ingesteld om de buitenranddiameter enigszins onefficiënt te maken teken een OpenGL®-cirkel.
De eenvoudige definitie van een cirkel is een 2D-vorm waarin elk randpunt exact dezelfde afstand tot een bepaald middelpunt is. Het meest eenvoudige algoritme voor het tekenen van een OpenGL®-cirkel is om punten te plotten vanuit een middencoördinaat met behulp van de sinus- en cosinusfuncties in een lus die door de graden van een hoek tot 360 ° loopt. Eén graad per keer stappen is echter tamelijk inefficiënt, dus de stappen worden meestal in grotere stappen uitgevoerd. Hoe groter de stappen, hoe hoekiger de cirkel eruit zal zien, met als ultiem voorbeeld een cirkel getekend met slechts vier punten, die een vierkant zou vormen.
Tijdens elke stap bij het bepalen van de coördinaat van een punt op de rand van een OpenGL®-cirkel, kan een lijn worden getrokken vanaf het laatste punt naar het huidige punt. Over het algemeen is het sneller om een lijnstrook te gebruiken om een volledige cirkel te maken dan om afzonderlijke lijnen afzonderlijk te tekenen. Nadat de punten waaruit de cirkel bestaat, zijn berekend, kunnen ze in een array worden opgeslagen en worden vertaald, net als elke set OpenGL®-hoekpunten.
Een OpenGL®-schijf is een primitieve vorm die de OpenGL®-hulpprogramma-bibliotheek native kan tekenen. Het bestaat uit een buitencirkel en een binnencirkel, waarbij het gebied tussen de binnen- en buitencirkels massief en gevuld is. De OpenGL®-schijf kan worden gebruikt om een OpenGL®-cirkel te tekenen door de binnenradius in te stellen zodat deze overeenkomt met de buitenradius, hoewel deze techniek betekent dat de cirkel echt twee keer wordt getekend vanwege de binnen- en buitenranden en wat grafische artefacten kan achterlaten bij rotatie op verschillende hoeken.