Predstavljam vam prvu verziju multimedijske biblioteke koju sam razvio Little DirectMedia Layer, skraćeno LDL.
Biblioteka je napisana u C++ 98 standardu, što omogućava njeno kompajliranje počevši od Visual C++ 6.0. Kod je distribuisan pod uslovima Boost Software License 1.0. Međutim, biblioteka ne ograničava programere u izboru standarda jezika C++, programer može koristiti bilo koji moderni standard jezika. Zastupam filozofiju downgrade — korišćenje starih uređaja i softvera u svakodnevnom životu, kada kompanije ne podržavaju svoje „stare“ operativne sisteme ili uređaje, povećavajući sa svakom novom verzijom svog proizvoda sistemske zahteve ili prekinu podršku za uređaj. Milijarde uređaja širom sveta svake sekunde obrađuju milijarde uputstava neoptimizovanog koda.
Ove godine sam govorio na konferenciji C++ 2023 sa izlaganjem „Napred u prošlost, ili Razvijamo okvir za Windows 95 u 2023. godini“.
Svojim projektom želim da dokažem da stari hardver još uvek može doneti korist i da ga je prerano otpisati. Postoji nešto očaravajuće u starim tehnologijama, pristupima i uređajima, a to je izazov novim bibliotekama i programima.
Na samom početku procesa razvoja nisam ni pretpostavljao da je ova biblioteka uopšte moguća. Ali prilikom praktične realizacije prototipa, dodajući red za redom u temelj buduće biblioteke, uveravao sam se u mogućnost njenog stvaranja i praktične primene.
U zaključku, moguće je pisati brze programe, jednostavno je potrebno iskoristiti znanja iz prošlosti.
Možnosti knjižnice:
- podrška za Linux Debian 3 i novije (obezbeđena je nativna gradnja);
- podrška za Windows 95 — Windows 11;
- jednostavno API za rad sa 2D grafikom;
- učitavanje više grafičkih formata (bmp, png, tga, jpg);
- kros-platformsko API iznad prozora i događaja OS-a;
- za hardversko ubrzavanje grafike koristi se OpenGL 1.2 i
- OpenGL 3.3, postoji podrška za obradu grafike samo na CPU-u, ako hardversko ubrzanje nije dostupno;
- render može biti izabran dinamički prilikom učitavanja aplikacije;
- jedinstveno API za sve sisteme — napiši jednom i kompajliraj svuda!
- reprodukcija zvuka;
- dinamičko i statičko povezivanje.
Planovi za budućnost:
- streaming reprodukcija zvuka;
- izlaz teksta uz podršku biblioteke freetype;
- dodatni rendere Direct3D 9, 10, 11;
- API za rad s tokom;
- ugrađena podrška za API za rad s mrežom;
- portiranje okvira na druge platforme: Android, IOS, MacOs.
Linkovi:
- Riznica projekta s opisom za izgradnju
- Primjeri programa
- Prezentacija izlaganja
- Prethodna rasprava na Loru
Izvor: linux.org.ru
