Hva er en OpenGL® -sfære?

En Open Graphics Library® (OpenGL®) sfære, på det mest grunnleggende nivået, er et tredimensjonalt (3D) objekt som består av en serie trekanter eller firedoblinger hvis toppunkter alle er like fra et midtpunkt. Dette betyr at når en OpenGL®-sfære blir sett på fra enhver vinkel, vises konturen som en perfekt sirkel for betrakteren, selv om belysning og skyggelegging kan gi volumet et mer balllignende utseende. Antall hjørner som brukes til å lage en OpenGL® -sfære, bestemmer objektets glatthet i dens tilnærming av en faktisk sfære, med mindre enn 12 poeng som skaper et objekt som ikke kan betraktes som en sfære. Selv om en sfære anses som en form som er primitiv i mange grafiske applikasjoner og biblioteker, har OpenGL® ikke noen medfødt funksjonalitet for å gjengi en sfære, noe som betyr at tilleggsverktøysett som OpenGL® Utility Toolkit (GLUT) må brukes til å unngå å skrive kode for å generere formen manuelt.ICE i OpenGL®, den minste mengden punkter som kan brukes til å generere en sfære med en viss grad av glatthet er 12, og skaper et objekt med 20 trekantede ansikter kjent som en icosahedron. Uten ytterligere behandling vil en OpenGL® -sfære konstruert på denne måten ha synlige skarpe hjørner rundt kantene, noe som kan være akseptabelt for noen applikasjoner. For å oppnå en mer avrundet sfære, må hvert ansikt bli videre inndelt.

Deling av en icosahedron for å øke antall hjørner den inneholder og danne en jevnere OpenGL® -sfære innebærer å lage nye hjørner i midten av hver kant av hver eksisterende trekant. Dette betyr at hvert trekantet ansikt nå vil inneholde fire trekanter. Underavdelingen kan fortsette så mye som nødvendig, selv om å legge til poeng eksponentielt raskt kan skape et objekt som har en høy gjengivelsestid og kan bli uhåndterlig å oversette.

Til tross for noenE av de matematiske bekvemmelighetene En OpenGL® -sfære sørger for programmerere, for eksempel overflatens normaler som lett kan beregnes fra toppunktkoordinatene, og teksturering av en sfære kan presentere noen kompleksiteter. Å bruke en standard todimensjonal (2D) tekstur projisert på sfæren betyr at topp- og bunnområdene i teksturbildet vil bli komprimert, fordi formen på trekantene nær polene på sfæren er komprimert selv. For å overvinne dette kan kubekartlegging brukes, eller programmereren kan generere teksturkoordinatene manuelt for objektet.

En faktor bør bemerkes om bruk av et verktøybibliotek for å generere en OpenGL® -sfære. En sfære generert av GLUT eller lignende verktøysett kan noen ganger være vanskelig å endre, optimalisere og administrere i OpenGL® selv. Av denne grunn er det noen ganger gunstig å bruke tilpasset skriftlig kode for å generere en OpenGL® -sfære slik at den opprettes og kan brukes på en mest mulig effektiv måteIthin programmet.

ANDRE SPRÅK