Örömmel bemutatom Önnek az általam kifejlesztett multimédiás könyvtár első verzióját Little DirectMedia Layer, rövidítve LDL.
A könyvtár C++ 98 szabványon íródott, amely lehetővé teszi, hogy a Visual C++ 6.0-tól kezdve fordítani lehessen. A kód a Boost Software License 1.0 feltételei mellett terjeszthető. A könyvtár azonban nem korlátozza a programozókat a C++ nyelv választásában, a programozó bármilyen modern nyelvi szabványt használhat. Én a downgrade filozófiáját követem – ez az elavult eszközök és szoftverek mindennapi életbeli használatát jelenti, amikor a cégek nem támogatják saját
Ebben az évben a C++ 2023 konferencián léptem fel egy előadással „Visszafelé az időben, vagy Hogyan fejlesszünk keretrendszert Windows 95-re 2023-ban”.
A projektem célja, hogy bebizonyítsam, hogy a régi hardver még mindig hasznos lehet, és nem kell idő előtt leszerelni. Valami vonzó van a régi technológiákban, megközelítésekben és eszközökben, a legújabb könyvtárak és programokkal szembeni kihívás is ez.
A fejlesztési folyamat elején nem is gondoltam, hogy ez a könyvtár egyáltalán lehetséges. De a prototípus gyakorlati megvalósítása során, ahogy sorban írtam a jövőbeni könyvtár alapjául szolgáló kódot, megbizonyosodtam arról, hogy lehetséges a létrehozása és a gyakorlati felhasználása.
Összefoglalva, gyors programokat lehet írni, csak élni kell a régi tudással.
A könyvtár lehetőségei:
- Linux Debian 3 és újabb verziók támogatása (natív összegzés biztosítva);
- Windows 95 - Windows 11 támogatás;
- egyszerű API a 2D grafika kezelésére;
- számos grafikus formátum betöltése (bmp, png, tga, jpg);
- multiplatform API az ablakok és az operációs rendszer eseményei fölött;
- a grafika hardveres gyorsításához OpenGL 1.2 és
- OpenGL 3.3 használatos, emellett támogatás van a grafika CPU-n való feldolgozására is, ha nincs hardveres gyorsítás;
- a renderelés dinamikusan választható az alkalmazás betöltésekor;
- egyetlen API minden rendszerhez – írj egyszer, és fordítsd le mindenhol!
- hang lejátszása;
- dinamikus és statikus linkelés.
Jövőbeli tervek:
- folyamatos hang lejátszása;
- szöveg kiírása a freetype könyvtár támogatásával;
- további Direct3D 9, 10, 11 renderelők;
- API a szálak kezeléséhez;
- beépített API támogatás a hálózati munkához;
- keretrendszer portolása más platformokra: Android, IOS, MacOs.
Linkek:
- A projekt tárolója a build leírásával
- Programpéldák
- Prezentáció az előadásról
- Előző beszélgetés a LORM-on
Forrás: linux.org.ru
