Wat is een OpenGL® -quad?

Een opengl® vierhoek of quad, in computerprogrammering en grafische afbeeldingen is een driedimensionale (3D) vorm, ook wel een polygoon genoemd, die vier zijden en vier punten heeft. Elk 3D -punt dat een enkele hoek van de OpenGL® -quad vertegenwoordigt, staat bekend als een hoekpunt en wordt gedefinieerd met drie getallen met betrekking tot de coördinaatpositie in de virtuele ruimte. De hoekpunten van een quad hoeven geen echte richtlijnen te volgen, behalve dat er vier moeten zijn; Anders staat de vorm bekend als een polygoon, driehoek of lijn, afhankelijk van het werkelijke aantal. De meeste digitale afbeeldingen zijn eigenlijk rechthoekig, dus een OpenGL® -quad kan een nuttige vorm zijn omdat de afbeelding textuur kan worden toegewezen aan het oppervlak zonder een grote hoeveelheid vervorming en zonder de noodzaak van complexe technieken voor het in kaart brengen van textuur. Het gebruik van een OpenGL® -quad heeft echter zijn eigen uitdagingen en er zijn een aantal programmeurs die suggereren dat ze het gebruik volledig vermijden.

Een van de belangrijkste toepassingen voor een OpenGL®-quad is het tekenen van tweedimensionale (2D) grafische afbeeldingen binnen een 3D-omgeving. Dit kan worden gedaan om een ​​statische gebruikersinterface bovenop een 3D -scène te hebben of om 2D -afbeeldingen te emuleren met OpenGL®. Hoewel OpenGL® is ontworpen om complexe 3D -afbeeldingen te maken, wordt het vaak gebruikt in 2D -grafische toepassingen vanwege de optimalisaties en flexibiliteit van de abstracte programmeerinterface (API). Een quad wordt erg belangrijk bij het weergeven van 2D -afbeeldingen, omdat het een natuurlijke 3D -weergave van een digitaal beeld is, wat betekent dat een quad kan worden geproporteerd om precies overeen te komen met de dimensie van de afbeelding. Zodra de verhoudingen overeenkomen, kan de afbeelding textuur worden toegewezen of geprojecteerd, op het oppervlak van de quad zonder enige vorm van vervorming, verpakking of gootruimte.

Een voordeel van het gebruik van een OpenGL® -quad, volgens sommige programmeurs, is dat het gemakkelijker is om na te denken over hoe quads in elkaar passen, in tegenstelling tot VIsualiseren hoe driehoeken in elkaar passen. Dit geldt vooral voor eenvoudige 3D -vormen zoals een kubus waarin elke quad een enkele kant is; Met een driehoeksmesh moeten twee driehoeken worden gecombineerd om een ​​quad te maken die een enkele kant maakt. Quads kunnen ook gemakkelijk worden gemanipuleerd om perspectief of andere effecten te creëren in een omgeving die is betegeld of uitgelijnd met een rooster.

Er zijn enkele nadelen aan het gebruik van een OpenGL® -quad, vooral vanwege de algoritmen die worden gebruikt om een ​​afbeelding in het venster van de kijker te rasteren of weer te geven. Een van de meest ondervonden problemen is dat de rendering of grafische kaart op elk moment de quad in twee driehoeken kan breken met het oog op efficiëntie. Hierdoor kan een anders glad oppervlak plotseling een zichtbare vervorming onder een hoek door de quad hebben waar de randen van de driehoeken elkaar ontmoeten.

Een ander probleem dat vaker voorkomt dan soms wordt gedacht te maken met het knippen van een OpenGL® -quad. Wanneer een deel van de quad buitenstaand isE Het kijkvenster, off -scherm, de renderer knipt de quad zodat alleen het zichtbare gedeelte wordt weergegeven. Dit betekent dat een quad geometrisch zal worden gesneden. Als de quad werd omgezet in twee driehoeken voordat het knippen optreedt, wordt elke driehoek een quad en wordt elk van die quads omgezet in twee driehoeken. Dit leidt tot een situatie waarin een geknipte quad plotseling uit vier driehoeken bestaat in plaats van één gladde quad.

De complexiteiten en onvoorspelbaarheid van de omzetting van quads in driehoeken leiden tot ongewenste resultaten. Deze omvatten vervormingen in texturen, onnauwkeurigheden of artefacten gerelateerd aan hoekpuntverlichting en soms ontbreken polygoonoppervlakken. Om deze redenen vermijden sommige programmeurs het gebruik van quads helemaal.

ANDERE TALEN