Vad är en OpenGL® Quad?
En OpenGL® fyrkantig, eller fyrhjulig, i datorprogrammering och grafik är en tredimensionell (3D) form, även kallad en polygon, som har fyra sidor och fyra punkter. Varje 3D-punkt som representerar ett enda hörn av OpenGL®-fyrkanten är känt som ett toppunkt och definieras med tre siffror relaterade till dess koordinatposition i det virtuella utrymmet. Hörnens toppar behöver inte följa några riktiga riktlinjer, förutom att det måste finnas fyra av dem; annars är formen känd som en polygon, triangel eller linje beroende på det faktiska antalet. De flesta digitala bilder är faktiskt rektangulära, så en OpenGL®-fyrhjuling kan vara en användbar form eftersom bilden kan kartläggas på ytan utan en stor mängd förvrängning och utan behov av komplexa tekniker för att kartlägga texturer. Användningen av en OpenGL®-fyrhjuling har dock sina egna utmaningar, och det finns ett antal programmerare som föreslår att man helt undviker deras användning.
En av de viktigaste användningarna för en OpenGL®-fyrhjuling är att rita tvådimensionell (2D) grafik i en 3D-miljö. Detta kan göras för att ha ett statiskt användargränssnitt överlagrat ovanpå en 3D-scen eller för att emulera 2D-grafik med OpenGL®. Även om OpenGL® var designad för att återge komplex 3D-grafik används den ofta i 2D-grafikapplikationer på grund av optimeringarna och flexibiliteten i det abstrakta programmeringsgränssnittet (API). En fyrhjuling blir mycket viktig för att rendera 2D-grafik, eftersom det är en naturlig 3D-representation av en digital bild, vilket innebär att en fyrhjuling kan proportioneras för att exakt matcha bildens dimension. När proportionerna överensstämmer, kan bilden kartläggas eller projiceras på kvadratytan utan någon form av snedvridning, lindning eller rännutrymme.
En fördel med att använda en OpenGL®-fyrhjuling, enligt vissa programmerare, är att det är lättare att tänka på hur quads passar ihop, i motsats till att visualisera hur trianglar passar ihop. Detta gäller särskilt för enkla 3D-former som en kub där varje fyrkant är en enda sida; med ett triangelnät måste två trianglar kombineras för att skapa en fyrkant som gör en enda sida. Fyrdukar kan också enkelt manipuleras för att skapa perspektiv eller andra effekter i en miljö som antingen är lutad eller inriktad på ett rutnät.
Det finns vissa nackdelar med att använda en OpenGL®-fyrhjuling, främst på grund av algoritmerna som används för att rastrera eller göra en bild i tittarens fönster. Ett av de mest uppkomna problemen är att återgivningen eller grafikkortet när som helst kan bryta fyrhjulet i två trianglar i syfte att effektivisera. Detta kan orsaka att en annars glatt yta plötsligt får en synlig distorsion i en vinkel genom fyren där trianglarnas kanter möts.
Ett annat problem som är vanligare än ibland har trott har att göra med klippningen av en OpenGL®-fyrhjuling. När en del av fyrhjulet är utanför visningsfönstret, utanför skärmen, kommer renderaren att klippa ut fyrhjulet så att endast den synliga delen återges. Detta innebär att en fyrdug kommer att geometriskt skäras. Om fyrhjulet konverterades till två trianglar innan klippningen inträffar, blir varje triangel en fyrhjuling och var och en av dessa fyrdukar omvandlas till två trianglar. Detta leder till en situation där en klippt fyrkant plötsligt består av fyra trianglar istället för en slät fyrhjul.
Komplexiteten och oförutsägbarheten i omvandlingen av fyrbitar till trianglar leder till oönskade resultat. Dessa inkluderar snedvridningar i strukturer, felaktigheter eller artefakter relaterade till toppbelysning och ibland saknas polygonytor. Av dessa skäl undviker vissa programmerare att använda fyrhjulingar helt.