Handledningar

▷ Opengl: vad är det och vad är det för

Innehållsförteckning:

Anonim

Har du någonsin hört talas om OpenGL ? Det blev snabbt branschens ledande API i realtid grafik eftersom det i princip var den enda som finns på flera plattformar. Idag ger vi dig den här artikeln där vi förklarar vad OpenGL är och vad den är till för.

Innehållsindex

historia

80-talet var utvecklingen av programvara som var kompatibel med ett brett spektrum av hårdvara relaterad till den grafiska världen en verklig utmaning för utvecklarna. Du var tvungen att hantera mycket olika gränssnitt och skriva specifika drivrutiner för varje typ av hårdvara, eftersom det var väldigt dyrt. Därför outsourcerades team av programmerare för att påskynda utvecklingen. Eftersom varje team arbetade separat på sina gränssnitt producerades mycket redundant kod. 1992 ledde SGI inrättandet av OpenGL Architecture Review Board (OpenGL ARB), en grupp företag som skulle underhålla och utöka specifikationen under följande år. OpenGL utvecklades från IRIS GL och övervann sitt hårdvaruberoende problem genom att erbjuda mjukvaruemulering för de funktioner som inte stöds. Således kan applikationer använda avancerad grafik på relativt svaga system.

För att förstå vad OpenGL är måste vi först veta vad ett API är.

Förstå OpenGL, vad är ett API?

Ett API eller applikationsprogrammeringsgränssnitt är en uppsättning koder som kan användas för olika applikationer för att kommunicera med varandra. Det är något som utför en uppgift som liknar användargränssnittet för att främja interaktion mellan person och program, endast tillämpad och exklusivt inom mjukvarumiljön. Det används för att ansluta koder eller funktioner mellan olika plattformar, så att du kan dra nytta av tjänsterna på en webbplats på en annan.

Vad är OpenGL?

Det betraktas främst som ett API som ger oss en stor uppsättning funktioner som vi kan använda för att manipulera 3D- och 2D-grafik och bilder. Men i sig är det inte bara ett API, utan en specifikation, utvecklad och underhållen av Khronos-gruppen. Det används också för videospelutveckling, där det tävlar med Direct3D på Microsoft-plattformen.

Anger exakt vad utgången från varje funktion ska vara och hur den ska fungera. Eftersom OpenGL-specifikationen inte innehåller implementeringsdetaljer, kan de faktiska utvecklade versionerna ha olika implementationer, så länge deras resultat överensstämmer med specifikationen (och därför är desamma för användaren).

Utvecklare av OpenGL-bibliotek är vanligtvis tillverkare av grafikkort. Varje GPU stöder specifika versioner av detta API, som är OpenGL-versionerna som utvecklats specifikt för det grafikkortet. Till exempel, när de använder ett system från ett företag som Apple, underhåller de OpenGL-biblioteket och under Linux finns det en kombination av grafikleverantörsversioner och anpassningar för dessa bibliotek. Detta kan innebära att närhelst OpenGL visar konstigt beteende som det inte borde vara, är det mycket troligt att grafikkortstillverkarna har felet. När det finns ett fel i implementeringen löses det vanligtvis genom att uppdatera grafikkortdrivrutinerna. Dessa drivrutiner inkluderar de senaste versionerna som din GPU stöder. Av detta skäl rekommenderas det alltid att uppdatera drivrutinerna.

OpenGL-mål

Huvudmålen är:

  • Minska komplexiteten i gränssnittet med de olika grafikkorten och presentera programmeraren med ett unikt och enhetligt API. Dölj de olika kapaciteterna för de olika hårdvaruplattformarna , vilket kräver att alla implementeringar stöder hela uppsättningen av OpenGL-funktioner (med programvaruemulering vid behov).

OpenGLs grundläggande operation är att acceptera primitiva åtgärder som punkter, linjer och polygoner och konvertera dem till pixlar. Denna process utförs av en grafisk pipeline känd som OpenGL State Machine. De flesta OpenGL-kommandon utfärdar primitiva operationer för grafsegmentering. Fram till version 2.0, utfördes varje steg i segmenteringen i en etablerad funktion, vilket resulterade i liten konfigurerbarhet. Från denna version är flera steg programmerbara med GLSL.

förlängningar

En mycket intressant bra funktion är dess förlängningsstöd. När ett företag med GPU: er introducerar en ny teknik eller ett nytt sätt att optimera för att göra 3D-bilder , är det i en förlängning implementerad i drivrutinerna. Om hårdvaran som en applikation kör på stöder det här tillägget kan utvecklaren använda funktionaliteten som tillägget tillhandahåller för att få mer avancerad eller effektiv grafik. På detta sätt kan en videospelutvecklare använda dessa nya renderingstekniker utan att behöva vänta på att OpenGL inkluderar funktionaliteten i framtida versioner, helt enkelt genom att kontrollera om grafikkortet stöder tillägget. Ofta, när ett tillägg är populärt eller mycket användbart, blir det så småningom en del av framtida versioner av OpenGL.

VI REKOMMENDERAR Mad Max släpper stöd för Vulkan i sin nya offentliga beta för Linux

OpenGL-utveckling

I mars 2015 introducerades Vulkan API som efterträdaren till OpenGL vid Game Developers Conference. Ursprungligen känd som "Next Generation OpenGL" eller "glNext", är programmeringsgränssnittet open source och cross-platform. Skillnaden med OpenGL är att mer uppmärksamhet ägnas åt hårdvara under programmering, vilket avsevärt ökar effekten. Vissa PC-spel stöder redan Vulkan, men de flesta använder DirectX. Vulkan är också utvecklad av Khronos-gruppen.

Vi rekommenderar att du läser de bästa grafikkorten på marknaden.

Hittills vår artikel om OpenGL, förhoppningsvis har du förstått vad den består av och mer. Hur som helst kan du lämna eventuella frågor i kommentarerna.

Handledningar

Redaktörens val

Back to top button