Hvad er en OpenGL® Quad?

En OpenGL® firkantet eller firhjulet i computerprogrammering og grafik er en tredimensionel (3D) form, også kaldet en polygon, der har fire sider og fire punkter. Hvert 3D-punkt, der repræsenterer et enkelt hjørne af OpenGL® quad, er kendt som et toppunkt og er defineret med tre numre, der vedrører dets koordinatposition i det virtuelle rum. Højdepunkterne i en firhjuling behøver ikke følge nogen reelle retningslinjer, undtagen at der skal være fire af dem; ellers er formen kendt som en polygon, trekant eller linje afhængigt af det faktiske antal. De fleste digitale billeder er faktisk rektangulære, så en OpenGL® quad kan være en nyttig form, fordi billedet kan kortlægges struktur til overfladen uden en stor mængde forvrængning og uden behov for komplekse teksturmappingsteknikker. Brugen af ​​en OpenGL® quad har imidlertid sine egne udfordringer, og der er et antal programmerere, der foreslår at man undgår deres brug helt.

En af de vigtigste anvendelser til en OpenGL® quad er at tegne todimensionel (2D) grafik i et 3D-miljø. Dette kan gøres for at have en statisk brugergrænseflade lagt over toppen af ​​en 3D-scene eller for at efterligne 2D-grafik med OpenGL®. Selvom OpenGL® var designet til at gengive kompleks 3D-grafik, bruges den ofte i 2D-grafikapplikationer på grund af optimeringen og fleksibiliteten af ​​det abstrakte programmeringsgrænseflade (API). En firhjul bliver meget vigtig i gengivelse af 2D-grafik, fordi det er en naturlig 3D-repræsentation af et digitalt billede, hvilket betyder, at en firhjul kan proportioneres, så den nøjagtigt matcher billedets dimension. Når proportionerne stemmer overens, kan billedet kortlægges eller projiceres på overfladen af ​​kvadratet uden nogen form for forvrængning, indpakning eller tagrendeplads.

En fordel ved at bruge en OpenGL® quad er ifølge nogle programmerere, at det er lettere at tænke over, hvordan quads passer sammen, i modsætning til at visualisere, hvordan trekanter passer sammen. Dette gælder især for enkle 3D-former, såsom en terning, hvor hver firkant er en enkelt side; med et trekantnet skal to trekanter kombineres for at fremstille en firkant, der udgør en enkelt side. Quads kan også let manipuleres for at skabe perspektiv eller andre effekter i et miljø, der enten er flisebelagt eller justeret til et gitter.

Der er nogle ulemper ved at bruge en OpenGL® quad, mest på grund af algoritmerne, der bruges til at rastere eller gengive et billede i vinduet i vieweren. Et af de mest opståede problemer er, at gengivelses- eller grafikkortet på ethvert tidspunkt kan bryde firhjulet i to trekanter med henblik på effektivitet. Dette kan forårsage, at en ellers glat overflade pludselig får en synlig forvrængning i en vinkel gennem firkanten, hvor kanterne på trekanterne mødes.

Et andet problem, der er mere almindeligt end nogle gange har troet, har at gøre med udklipningen af ​​en OpenGL® quad. Når en del af kvadratet er uden for visningsvinduet, fra skærmen, klipper rendereren quadet, så kun den synlige del gengives. Dette betyder, at en firhjul vil blive udskåret geometrisk. Hvis kvadratet blev konverteret til to trekanter, før udklipningen finder sted, bliver hver trekant en kvadrat, og hver af disse kvadrater konverteres til to trekanter. Dette fører til en situation, hvor en klippet quad pludselig består af fire trekanter i stedet for en glat firkant.

Kompleksiteten og uforudsigeligheden ved omdannelse af quads til trekanter fører til uønskede resultater. Disse inkluderer forvrængninger i teksturer, unøjagtigheder eller artefakter relateret til toppunktbelysning og undertiden manglende polygonoverflader. Af disse grunde undgår nogle programmerere brugen af ​​quads helt.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

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