HTML

gondolataim elsősorban játékfejlesztésről

Elsősorban játékfejlesztés magyarul: az enginem fejlesztése során felmerülő problémák, ötletek, tévutak stb dokumentálása, amely számomra és talán mások számára is hasznos lehet később Másodsorban gondolatok szavakban...

Kapcsolat:
aalberik 'at' gmail 'dot' com

Haletető

Galéria

Címkék

Összes

Linkblog

Naptár

április 2024
Hét Ked Sze Csü Pén Szo Vas
<<  < Archív
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

Recens grafikus API-k - vulkán, földköpeny és a többiek

2015.03.12. 00:26 :: syam

Úgy tűnik ismét eljön az a korszak (egy időre?), amikor a "legyen egységes szabvány" helyett mindenki egyedi, a saját igényeinek megfelelő grafikus szabványt akarja népszerűvé és/vagy kötelezővé tenni. Erre már volt korábban példa a Microsoft-tól, de most úgy látszik az Apple is belépett a táborba, hiszen iOS-n OpenGL ES 3.1 támogatásnak egyelőre nincs nyoma. Hasonló funkcionalitás kihasználásához a saját megoldását a Metal-t kell használnunk (természetesen ennek más okai is vannak).
Most vegyük sorra a főbb, recens grafikus API-kat:

  1. OpenGL 4.x
  2. OpenGL ES 2.0
  3. OpenGL ES 3.0
  4. OpenGL ES 3.1
  5. WebGL
  6. GLNext (Vulkan)
  7. D3D9
  8. D3D11
  9. D3D12
  10. Metal
  11. Mantle
  12. Mantle 2

Első ránézésre soknak tűnik próbáljuk meg nagyjából csoportosítani a nyelv "stílusa" alapján

  1. Klasszikus OpenGL: OpenGL 4.x, ES x.x, WebGL
  2. Mantle stílus: Mantle 1, Vulkan
  3. D3D stílus: D3D9, D3D11 - bár nevükben hasonlók szintaxisuk csak távolról emlékeztet egymásra
  4. Egyéb: Metal, Mantle 2, D3D12

Ezenkívül még fontos kiemelni, hogy ezek közül mik a low-level API-k: Vulkan (Khronos), D3D12 (Microsoft), Metal (Apple), Mantle (AMD). Látható, hogy e terület lényegesebb szereplői már rendelkeznek low-level API-val. Nvidia-nak OpenGL 4.5-höz van low-level "kiegészítése" a command list AZDO.

Elég sokszínű a felhozatal... gyakorlati oldalról megközelítve mondhatni kezelhetetlen mennyiség. Így elérkezettnek láttam az időt, hogy létrehozzak egy absztrakt renderelő API-t, ami valahol félúton van ezek és egy grafikai engine között. Vagyis eléggé magas szintű ahhoz, hogy már ne legyenek framebufferek, draw callok viszont még ne legyenek materialok, megvilágítási modellek, egyedi renderpassok stb. Ez jelenleg a Metal-t, a Vulkan-t, a D3D11-t és az OpenGL-t fedi le.

És most lássuk mit is tudott a Vulkan akkor amikor a GDC ill. Khronos demót készítettük.

Sajnos erről egyelőre nem írhatok semmit...

Csak annyit ami publikus: az AMD Mantle átirata a Vulkan - közben az AMD már készíti a Mantle 2-t - és hogy low-level az API, de nagyon. Annyira, hogy ha már földrajzi terminusokat használunk (Mantle, Vulkan) én inkább plutónnak hívnám az API-t - vö. vulkanizmus: felszín feletti, plutonizmus: felszín alatti magmás (avagy láva) jelenségek.

Itt pedig a kép alját érdemes figyelni:

2 komment

A bejegyzés trackback címe:

https://sakura7.blog.hu/api/trackback/id/tr477261395

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Gerilgfx 2015.03.12. 00:53:51

a mantlnincs sok értelme/jövője a hardveresen gyorsított 3dnek már szerintem. a szoftveres renderelés a jövő.

syam 2015.03.12. 01:17:46

A közeli jövőben még a hardveres 3D fog döntő szerepet játszani a grafikában.
süti beállítások módosítása