▷ Opengl: què és i per a què serveix

Taula de continguts:
Has sentit parlar alguna vegada d'OpenGL? Es va convertir ràpidament en l'API de gràfics en temps real líder de la indústria, ja que, era bàsicament l'única disponible en múltiples plataformes. Avui et portem aquest article en el qual et vam explicar què és OpenGL i per a què serveix.
Índex de continguts
història
En els anys 80 el desenvolupament de programari que fos compatible amb un ampli rang de maquinari relacionat amb el món gràfic era un veritable repte per als desenvolupadors. Calia tractar amb interfícies molt diferents i escriure drivers específics per a cada tipus de maquinari, resultant molt car, per això, es subcontractaven equips de programadors per agilitzar el desenvolupament. Atès que cada equip treballava per separat en les seves interfícies, es produïa molt codi redundant. El 1992, SGI va liderar la creació d'l'OpenGL Architecture Review Board (OpenGL ARB), un grup d'empreses que mantindria i estendria l'especificació en els anys següents. OpenGL va evolucionar des IRIS GL, superant el seu problema de dependència de el maquinari a l'oferir emulació programari per a aquelles característiques no suportades. Així, les aplicacions podien utilitzar gràfics avançats en sistemes relativament poc potents.
Per entendre què és OpenGL primer hem de saber que és una API.
Entenent OpenGL, Què és una API?
Una API o Interfície de Programació d'Aplicacions (en anglès, Application Programming Interface) és un conjunt de codis que es poden emprar perquè diverses aplicacions es comuniquin entre elles. És una cosa que realitza una tasca similar a la interfície d'usuari a l'hora de fomentar la interacció entre persona i programa, només que, aplicat únicament i exclusivament dins de l'entorn del programari. Serveix per connectar codis o funcions entre plataformes diferents, perquè es puguin aprofitar els serveis d'una web en una altra.
Què és OpenGL?
Es considera principalment com una API que ens proporciona un gran conjunt de funcions que podem fer servir per a manipular gràfics i imatges 3D i 2D. No obstant això, per si sol no és simplement una API, sinó una especificació, desenvolupada i mantinguda pel Grup Khronos. També s'usa per al desenvolupament de videojocs, on competeix amb Direct3D a la plataforma de Microsoft.
Especifica exactament com hauria de ser el resultat de cada funció i com hauria de funcionar. Atès que l'especificació OpenGL no proporciona detalls d'implementació, les versions desenvolupades reals poden tenir implementacions diferents, sempre que els seus resultats compleixin amb l'especificació (i, per tant, siguin els mateixos per a l'usuari).
Els que desenvolupen les biblioteques OpenGL solen ser els fabricants de targetes gràfiques. Cada GPU admet versions específiques d'aquesta API, que són les versions d'OpenGL desenvolupades específicament per a aquesta targeta gràfica. Per exemple, quan s'utilitza un sistema d'una companyia com Apple, mantenen la biblioteca OpenGL i, sota Linux, hi ha una combinació de versions de proveïdors gràfics i adaptacions per a aquestes biblioteques. Això pot significar que cada vegada que OpenGL mostra un comportament estrany que no hauria, és molt probable que sigui culpa dels fabricants de targetes gràfiques. Cada vegada que hi ha un error en la implementació, generalment es resol actualitzant els controladors de la targeta gràfica. Aquests controladors inclouen les versions més recents que admet la seva GPU. Per aquesta raó és la que sempre es recomana actualitzar els drivers.
Objectius d'OpenGL
Els principals objectius són:
- Reduir la complexitat de la interfície amb les diferents targetes gràfiques, presentant a l'programador una API única i uniforme. Amaga les diferents capacitats de les diverses plataformes de maquinari, requerint que totes les implementacions suportin el conjunt complet de característiques d'OpenGL (utilitzant emulació per programari si fos necessari).
L'operació bàsica d'OpenGL és acceptar accions primitives com ara punts, línies i polígons, i convertir-les en píxels. Aquest procés és realitzat per una pipeline gràfica coneguda com la Màquina d'estats d'OpenGL. La major part de les ordres d'OpenGL emeten operacions primitives a la segmentació de la gràfica. Fins a l'aparició de la versió 2.0, cada etapa de la segmentació s'executava en una funció establerta, resultant poc configurable. A partir d'aquesta versió diverses etapes són completament programables usant GLSL.
extensions
Una gran característica molt interessant és el seu suport d'extensions. Cada vegada que una companyia de GPUs presenta una nova tecnologia o una nova forma d'optimització per a renderitzar imatges 3D, es troba en una extensió implementada en els controladors. Si el maquinari en el qual s'executa una aplicació admet aquesta extensió, el desenvolupador pot usar la funcionalitat proporcionada per l'extensió per obtenir gràfics més avançats o eficients. D'aquesta manera, un desenvolupador de videojocs pot usar aquestes noves tècniques de renderitzat sense haver d'esperar que OpenGL inclogui la funcionalitat en les seves futures versions, simplement comprovant si la targeta gràfica admet l'extensió. Sovint, quan una extensió és popular o molt útil, eventualment es converteix en part de futures versions d'OpenGL.
ET RECOMENDAMOSMad Max estrena suport per Vulkan en la seva nova beta pública per a LinuxEvolució d'OpenGL
Al març de 2015, l'API Vulkan va ser presentat com el successor d'OpenGL en la Game Developers Conference. Inicialment coneguda com "OpenGL de pròxima generació" o "glNext", la interfície de programació és de codi obert i multiplataforma. La diferència amb OpenGL és que es posa més atenció en el maquinari durant la programació, el que augmenta significativament la potència. Alguns jocs de PC ja són compatibles amb Vulkan, però la majoria fa servir DirectX. Vulkan també és desenvolupat pel Grup Khronos.
Et recomanem la lectura de les millors targetes gràfiques de l'mercat.
Fins aquí el nostre article sobre OpenGL, esperem que hagis entès en què consisteix i altres. De tota manera, qualsevol dubte pots deixar-la en els comentaris.
Els millors cdn per a la teva web o wordpress: què són i per a què serveix?

Us expliquem que és una CDN i quins són els millors CDN actualment. Entre ells ens trobem CloudFlare, Amazon AWS / Cloudfront i MaxCDN.
▷ Adobe xd: què és i per a què serveix l'app per maquetadors?

Què és i per a què serveix Adobe Experience Design o Adobe XD. Descobreix més sobre aquest nou programa d'Adobe i el seu funcionament.
Bluetooth 5.0: què és, per a què serveix i què mòbils són compatibles

Bluetooth 5.0: Què és, per a què serveix i què mòbils són compatibles. Descobreix més sobre la nova versió d'aquest protocol.