Hva er et OpenGL® trekant?
En OpenGL® trekant er den mest grunnleggende formen som kan dannes i OpenGL® og har en overflate. I geometri er en trekant en form som er laget av tre punkter, hver forenet av en linje. I OpenGL® er hvert punkt som danner et hjørne av trekanten kjent som et toppunkt, som er en samling av koordinater i tredimensjonalt (3D) rom. En trekant er den mest grunnleggende formen med en overflate, noe som betyr at den også er baseenheten som brukes til å lage alle større former innenfor en gitt scene. En fordel ved bruk av en OpenGL® trekant i forhold til andre polygoner er støtten som er gitt for mer komplekse strukturer som trekantstrimler, trekantvifter og trekantmasker.
Et av formålene med OpenGL®-biblioteket er å skaffe mekanismer for å vise og animere komplekse 3D-objekter ved å bruke all tilgjengelig maskinvare, inkludert grafikkort og grafikkbehandlingsenheter (GPUer). Trekanter er så mye brukt i 3D-grafikk at de fleste grafikkort er optimalisert for å gi trekanter raskere enn de fleste andre polygoner. Et objekt dannet i OpenGL® drar fordel av denne funksjonen ved å konvertere store og komplekse objekter til en sekvens av trekanter. Et ofte brukt form, kalt en firedobling eller en firedobling, er et enkelt rektangel, men det er laget av to trekanter som har en enkelt kant. Det er raskere å gjengi de to trekantene enn å utføre beregningene som er nødvendige for å gjengi et rektangel.
Selv om det kan være konseptuelt enkelt å bruke en OpenGL® trekantsekvens for å konstruere et større objekt, gir biblioteket funksjoner som kan gjøre oppgaven enklere og raskere og potensielt bruke mindre plass. Det vanligste kalles en trekantstripe. Dette er en form som begynner med en enkelt OpenGL® trekant og lar brukeren definere et annet punkt som, når det er koblet til de to foregående punktene, danner en tilkoblet trekant. Prosessen med å definere punkter kan fortsette, og legge til en ny trekant hver gang ved å definere bare et ytterligere punkt, til slutt danne en lang stripe trekanter som veksler vendt når de går fremover.
En stripe kan brukes til å danne en annen kompleks OpenGL® trekantform kjent som et trekantnett. Dette kan visualiseres som en sekvens av trekantstrimler oppstilt på toppen av den andre. Resultatet ligner et rutenett, bortsett fra at hver firkant faktisk består av to trekanter. I 3D-rom kan et trekantnett brukes til å danne ikke-ensartede overflater, for eksempel det til et menneskelig ansikt eller en fjellkjede.
Til slutt kan en OpenGL® trekant også brukes til å danne en form kjent som en trekantvifte. En trekantvifte begynner med en enkelt trekant. En fjerde toppunkt er definert, og den er koblet til den forrige trekanten, og danner en ny trekant. Forskjellen fra en trekantstripe er at ikke bare deler hver trekant en side med den forrige, men hver har også et enkelt felles endepunkt som alle ser ut til å stamme fra. I et 3D-rom kan en trekantvifte brukes til å lage andre former, for eksempel en kjegle eller pyramide.