Den første version af multimediebiblioteket LDL med støtte til ældre systemer

Jeg præsenterer for dig den første version af det multimediebibliotek, jeg har udviklet Little DirectMedia Layer, forkortet LDL.

Biblioteket er skrevet i C++ 98-standarden, hvilket gør det muligt at kompilere det fra Visual C++ 6.0. Koden distribueres under Boost Software License 1.0. Men biblioteket begrænser ikke programmører i valget af C++ sprogstandard; programmører kan bruge enhver moderne sprogstandard. Jeg følger filosofien om downgrade – at bruge gammelt hardware og software i hverdagen, når virksomheder ikke længere understøtter deres 'forældede' operativsystemer eller enheder, hvilket med hver ny version af deres produkt øger systemkravene eller stopper understøttelsen af enheden. Milliarder af enheder over hele verden bearbejder hver sekund milliarder af instruktioner af ikke-optimeret kode.

I år talte jeg på C++ 2023-konferencen med et oplæg «Fremad til fortiden, eller Vi udvikler et framework til Windows 95 i 2023».

Med mit projekt ønsker jeg at bevise, at gammelt hardware stadig kan have værdi, og at det er for tidligt at kassere det. Der er noget fortryllende ved gamle teknologier, tilgange og hardware, og det er også en udfordring for de nye biblioteker og programmer.

I begyndelsen af udviklingsprocessen havde jeg overhovedet ikke forestillet mig, at dette bibliotek kunne være muligt. Men under den praktiske implementering af prototypen, ved at tilføje linje for linje til fundamentet for det fremtidige bibliotek, blev jeg overbevist om muligheden for at oprette det og dets praktiske anvendelse.

Sammenfattende kan man sige, at det er muligt at skrive hurtige programmer; man skal bare bruge viden fra det forgangne.

Bibliotekets funktioner:

  • understøttelse af Linux Debian 3 og nyere (native build er sikret);
  • understøttelse af Windows 95 – Windows 11;
  • simpelt API til arbejde med 2D grafik;
  • indlæsning af mange grafikformater (bmp, png, tga, jpg);
  • krydsplatform API over vinduer og OS-hændelser;
  • til hardwareaccelerering af grafik anvendes OpenGL 1.2 og
  • OpenGL 3.3, der er understøttelse af grafikbehandling kun på CPU, hvis hardwareaccelerering ikke er tilgængelig;
  • rendering kan vælges dynamisk ved indlæsning af applikationen;
  • et fælles API for alle systemer – skriv én gang og compilér overalt!
  • lydeafspilning;
  • dynamisk og statisk linking.

Fremtidsplaner:

  • strømmende lydeafspilning;
  • tekstoutput med understøttelse af freetype-biblioteket.
  • yderligere Direct3D 9, 10, 11 gengivelser;
  • API til arbejde med strømme;
  • indbygget API-support til netværksarbejde;
  • portering af frameworket til andre platforme: Android, IOS, MacOs.

Links:

Kilde: linux.org.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster