Hvad er en OpenGL®-cirkel?

Der er ingen reel indbygget form primitiv for en basal OpenGL®-cirkel (OpenGL®), så tegning af en cirkel involverer at følge en simpel algoritme til at bestemme placeringen af ​​punkterne, hvorefter punkterne kan forbindes med linjer for at danne cirkel. I de fleste tilfælde er en OpenGL®-cirkel tilnærmelsesvis til en realtids gengivelsesapplikation og består faktisk af et antal lige linjer, der ligner en cirkel, når afstanden mellem linjernes slutpunkter er kort nok. Et trick, der kan hjælpe med at gøre en cirkel glat, er at aktivere blanding og bruge glatlinjetegningstilstand for at reducere udseendet på de vinkler, hvor to linjer forbindes på cirklens omkreds. En anden måde at tegne en cirkel er at bruge OpenGL®-formen primitiv kendt som en disk, som i det væsentlige er en todimensionel (2D) cirkel, der har en yderligere indre cirkel, der kan indstilles til at matche den ydre kantdiameter til noget ineffektivt tegne en OpenGL®-cirkel.

Den enkle definition af en cirkel er en 2D-form, hvor hvert kantpunkt er nøjagtigt den samme afstand fra et givet midtpunkt. Den mest basale algoritme til tegning af en OpenGL®-cirkel er at kortlægge punkter fra en centerkoordinat ved hjælp af sinus- og cosinusfunktionerne i en løkke, der træder gennem en vinkelgrad op til 360 °. Trinering af 1 grad ad gangen er imidlertid temmelig ineffektiv, så trinnene udføres normalt i større trin. Jo større trin, jo mere kantet vil cirklen se ud, med det ultimative eksempel er en cirkel tegnet med kun fire punkter, hvilket vil gøre en firkant.

Under hvert trin til bestemmelse af koordinaten for et punkt på kanten af ​​en OpenGL®-cirkel kan der trækkes en linje fra det sidste punkt til det aktuelle punkt. Det er generelt hurtigere at bruge en linjestrimmel til at fremstille en komplet cirkel end individuelt at tegne separate linjer. Når de punkter, der omfatter cirklen er beregnet, kan de gemmes i en matrix og oversættes ligesom ethvert sæt OpenGL®-hjørner.

En OpenGL®-disk er en form-primitiv, som OpenGL®-biblioteket kan tegne naturligt. Den er lavet af en ydre cirkel og en indre cirkel, hvor området mellem de indre og ydre cirkler er solidt og fyldt. OpenGL®-disken kan bruges til at tegne en OpenGL®-cirkel ved at indstille den indvendige radius til at passe til den ydre radius, selvom denne teknik betyder, at cirklen virkelig er trukket to gange på grund af den indre og ydre kanter og kunne efterlade nogle grafiske artefakter, når de drejes ved forskellige vinkler.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?