Shop menü

MEGÉRKEZETT AZ OPENGL 4.4-ES KIADÁSA

A Khronos Group elkészült az OpenGL legfrissebb kiadásával, amely immár a 4.4-es verziószámot viseli.
Víg Ferenc (J.o.k.e.r)
Víg Ferenc (J.o.k.e.r)
Megérkezett az OpenGL 4.4-es kiadása

A platformok között átívelő, 2D és 3D támogatás kiaknázására egyaránt lehetőséget adó alkalmazásprogramozási interfész segítségével lehetőség nyílik a legmodernebb grafikus processzorokban rejlő lehetőségek maradéktalan kiaknázására - mindezt úgy, hogy az OpenGL 4.4 visszafelé teljesen kompatibilis marad a korábbi OpenGL változatokkal. Utóbbinak köszönhetően az alkalmazások fokozatosan kezdhetik el kihasználni az új szolgáltatásokban rejlő lehetőségeket a legkülönbözőbb grafikus hardverekkel, illetve a különböző operációs rendszerekkel karöltve. Az OpenGL 4.4 új funkcionalitást is kínál, amellyel egyszerűbbé válik az alkalmazások különböző API-k és platformok közötti átültetése.

Az OpenGL legfrissebb specifikációjának bejelentése mellett a Khronos Group azt is elújságolta, hogy az OpenGL ARB (Architecture Review Board) munkacsoport létrehozta az első csokornyi formális OpenGL megfelelőségi tesztet, amelyekkel driver-megfelelőségi tanúsítvány szerezhető OpenGL 3.3-tól felfelé. A teljes tanúsítvány megszerzése OpenGL 4.4-től felfelé kötelező lesz, amitől a Khronos Group szakemberei azt várják, hogy segít majd a különböző gyártók OpenGL eszközillesztő-szoftverei közötti különbségek csökkentésében.

Most pedig lássuk, milyen újításokat kínál az OpenGL 4.4-es specifikációja. Íme:

Buffer Placement Control (GL_ARB_buffer_storage)

Jelentősen javítja a memóriakezelés rugalmasságát és hatékonyságát azáltal, hogy a rendszermemóriában és a videó memóriában található bufferek pozíciói felett közvetlen kontrollt tesz lehetővé, méghozzá gyorsítótár-viselkedési kontrollal karöltve. Utóbbiba beletartozik az a lehetőség is, amelynek keretén belül a rendszer processzora közvetlen hozzáférésű buffert tud biztosítani a GPU számára.

Efficient Asynchronous Queries (GL_ARB_query_buffer_object)

A bufferben elhelyezkedő objektumok közvetlen célként használhatóak egy-egy lekérdezés alkalmával annak érdekében, hogy a CPU-nak ne kelljen várnia az eredményre és így ne rekedjen meg a grafikus futószalag. Ez a módszer jelentősen megnövekedett teljesítményt eredményez azoknál az alkalmazásoknál, amelyek rendszerint a későbbiekben kívánják felhasználni a GPU által elvégzett lekérdezések eredményeit.

Shader Variable Layout (GL_ARB_enhanced_layouts)

Részletes vezérlési lehetőség a shader interfész változóinak elhelyezkedése felett, beleértve a vektorok skalár típusokba történő hatékony csomagolásának lehetőségét is.

Efficient Multiple Object Binding (GL_ARB_multi_bind)

Új parancsok, amelyek lehetővé teszik az egyes alkalmazások számára, hogy több különálló parancs helyett egyetlen API hívás segítségével objektumcsoportokat kössenek össze vagy válasszanak szét, ami összességében jobb hatásfokhoz vezet. Az alkalmazások többségénél a központi renderelő ciklus gyakran köt össze különböző textúracsoportokat, mintázókat, képeket, vertex buffereket és egységes buffereket, így az új parancsokkal jelentősen csökkenthető a CPU overhead, és növelhető az összteljesítmény.

Hatékonyabb portolás a Direct3D alkalmazások esetében

Az új kiadás több olyan alapvető funkciót is kínál, amelyek hozzájárulnak, hogy a Direct3D-s alkalmazások és játékok portolása egyszerűbb legyen. Ebbe beletartozik a GL_ARB_buffer_storage, amely a buffer elhelyezés-vezérlésért felel, de rendelkezésre áll a GL_ARB_vertex_type_10f_11f_11f_rev is, amely egy olyan vertex adattípust hoz létre, ami három komponenset csomagol egy 32-bites értékbe, ezáltal növekszik a teljesítmény az alacsonyabb pontosságú csúcsok esetében. Rendelkezésre áll GL_ARB_texture_mirror_clamp_to_edge eljárás is, ami textúrakötési módot kínál - ilyet a Direct3D esetében is alkalmaznak.

Az OpenGL 4.4-es változatával két új kiterjesztés is érkezett, amelyek közül az egyik a Bindless Texture Extension (GL_ARB_bindless_texture) nevet viseli. Ez lehetővé teszi a shaderek számára, hogy azok effektíve végtelen számú textúra- és képforrást használjanak közvetlenül, virtuális címek alkalmazásával.

A másik kiterjesztés a Sparse Texture Extension (GL_ARB_sparse_texture) nevet kapta és lényege abban rejlik, hogy segítségével lehetővé válik olyan nagyméretű textúrák használata, amelyek nagyobbak, mint a GPU-hoz tartozó fizikai memória kapacitása. Ez úgy lehetséges, hogy az eljárás segítségével az alkalmazás kiválaszthatja az adott textúra azon régióit, amelyek a "mega-texture" algoritmusok számára szükségesek.

Aki mélyebben is szeretné magát beleásni a témába, itt bővebb információt is talál.

Neked ajánljuk

    Tesztek

      Kapcsolódó cikkek

      Vissza az oldal tetejére