Zdolni programiści chcą połączyć OpenCL i OpenGL z DirectXem. Wspiera ich Microsoft
Collabora i Microsoft uruchomiły nowy, otwartoźródłowy projekt, którego celem jest opracowanie warstw mapujących łączących niegdyś konkurujące ze sobą technologie. By aplikacje i gry wykorzystujące OpenGL i OpenCL działały dobrze niezależnie od wykorzystywanego sprzętu.
OpenGL i OpenCL to otwartoźródłowe frameworki, od lat wykorzystywane na wielu systemach by wspomagać pisanie aplikacji działających na heterogenicznych platformach oraz wykorzystujących akcelerację graficzną – w tym gier wideo. Zamknięty i własnościowy DirectX realizuje podobne funkcje – jest co prawda ograniczony tylko do Windowsa, ale dużo lepiej wypromowany przez Microsoft. A co za tym idzie, chętniej wspierany przez producentów sprzętu.
To ostatnie oznacza niestety, że pracując na komputerach z pewną grupą podzespołów, aplikacje wykorzystujące OpenGL lub OpenCL mogą działać z wydajnością znacznie poniżej oczekiwań lub wręcz nie działać wcale. Rzadko kiedy apki mają przygotowane mechanizmy zgodne zarówno z DirectX, jak i z otwartoźródłowymi alternatywami.
Microsoft chce to zmienić. Wspólnie z firmą Collabora chce sprawić, by OpenGL i OpenCL działały dobrze nawet jeśli producent naszego sprzętu skupił się na DirectX.
Projekt ma być w pełni otwartoźródłowy i ma na celu stworzenie warstw mapujących (ang. mapping layers) dla OpenCL i OpenGL w DirectX 12. Wykorzystuje on doświadczenie z budowania takich warstw dla starszych wersji DirectXa – konkretniej warstw mapujących DirectX 9 w DirectX 12 oraz DirectX 11 w DirectX 12.
Do fundamentów tego przedsięwzięcia należy otwartoźródłowy i ceniony projekt Mesa 3D. Microsoft i Collabora skupiają się na razie na OpenCL 1.1 i OpenGL 3.3, choć przyszłe wersje mają być również uwzględniane.
No dobrze, ale co to wszystko znaczy w praktyce dla nas, użytkowników?
To oznacza, że w przyszłości będziemy mogli uruchamiać aplikacje wykorzystujące OpenGL i OpenCL na sprzęcie zoptymalizowanym pod DirectX 12 bez konieczności instalowania nieoficjalnych bibliotek czy łatek. Programy mają działać w efekcie tak, jakby od samego początku były pisane z myślą o DirectX.
Tworzone rozwiązanie ma charakter w pełni otwarty. Budowany kod będzie połączony z Mesa 3D, każdy będzie mógł z niego korzystać do własnych celów i go ulepszać. Niestety na razie żadna z firm nie podaje nawet przybliżonego spodziewanego terminu zakończenia prac.
Technikę OpenCL wykorzystują, między innymi, Photoshop, GIMP, Maya, Blender, Chrome, Firefox czy Calc. Technikę OpenGL wykorzystują, między innymi, After Effects, Photoshop, Premiere Pro, 3D Studio Max, AutoCAD i Maya.