Vad är en OpenGL® Quad?
En OpenGL®-kvadrilateral, eller fyrhjuling, 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® -fyrhjulingen är känt som ett toppunkt och definieras med tre siffror relaterade till dess koordinatposition i det virtuella utrymmet. Virtarna i en fyrhjuling 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 vara textur mappad till ytan utan en stor mängd snedvridning och utan behov av komplexa texturmappningstekniker. Användningen av en OpenGL® -fyrhjuling har emellertid sina egna utmaningar, och det finns ett antal programmerare som föreslår att man undviker deras användning helt.
En av de viktigaste användningarna för en OpenGL®-fyrhjuling är att rita tvådimensionell (2D) grafik inom 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 utformad för att göra 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 göra 2D -grafik, eftersom det är en naturlig 3D -representation av en digital bild, vilket innebär att en fyrhjuling kan proportioneras till exakt att matcha bildens dimension. När proportionerna matchar kan bilden kartläggas eller projiceras på ytan på fyrhjulet utan någon typ av distorsion, inslagning eller rännorutrymme.
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 Visualisera hur trianglar passar ihop. Detta gäller särskilt för enkla 3D -former som en kub där varje fyrhjuling är en enda sida; Med ett triangelnät måste två trianglar kombineras för att göra en fyrhjuling som gör en enda sida. Quads kan också enkelt manipuleras för att skapa perspektiv eller andra effekter i en miljö som antingen är kaklad eller anpassad till ett rutnät.
Det finns några nackdelar med att använda en OpenGL® -fyrhjuling, mest på grund av algoritmerna som används för att rasera eller göra en bild i tittarens fönster. Ett av de mest uppstått problemen är att rendering eller grafikkort kan när som helst bryta fyren i två trianglar för effektivitetsändamål. Detta kan orsaka att en annars slät yta plötsligt har en synlig distorsion i en vinkel genom fyrhjulet där trianglarnas kanter möts.
Ett annat problem som är vanligare än ibland trodde har att göra med klippningen av en OpenGL® -fyrhjuling. När en del av fyrhjulingen är outside Visningsfönstret, utanför skärmen, renderaren kommer att klippa fyren så att bara den synliga delen återges. Detta innebär att en fyrhjuling kommer att skäras geometriskt. Om fyrhjulingen omvandlades till två trianglar innan klippningen inträffar, blir varje triangel en fyrhjuling, och var och en av dessa fyrhjulingar omvandlas till två trianglar. Detta leder till en situation där en klippt fyrhjuling plötsligt består av fyra trianglar istället för en smidig fyrhjuling.
Komplexiteten och oförutsägbarheten av omvandlingen av quads till trianglar leder till oönskade resultat. Dessa inkluderar snedvridningar i strukturer, felaktigheter eller artefakter relaterade till toppbelysning och ibland saknade polygonytor. Av dessa skäl undviker vissa programmerare att använda quads helt.