De eerste uitgave van de multimedia-bibliotheek LDL met ondersteuning voor oudere systemen

Ik presenteer u de eerste versie van de door mij ontwikkelde multimedia bibliotheek Little DirectMedia Layer, afgekort LDL.

De bibliotheek is geschreven in de C++ 98 standaard, wat het mogelijk maakt om deze te compileren vanaf Visual C++ 6.0. De code wordt verspreid onder de voorwaarden van de Boost Software License 1.0. Maar de bibliotheek beperkt programmeurs niet in de keuze van de C++ standaard; een programmeur kan elke moderne C++ standaard gebruiken. Ik houd me aan de downgrade-filosofie - het gebruik van oude apparaten en software in het dagelijks leven, wanneer bedrijven hun 'verouderde' besturingssystemen of apparaten niet langer ondersteunen, terwijl ze met elke nieuwe versie van hun product de systeemvereisten verhogen of de ondersteuning voor een apparaat stopzetten. Miljarden apparaten over de hele wereld verwerken elke seconde miljarden instructies van niet-geoptimaliseerde code.

Dit jaar heb ik gesproken op de C++ 2023 conferentie met een presentatie ā€˜Terug in de tijd, of We ontwikkelen een framework voor Windows 95 in 2023’.

Met mijn project wil ik bewijzen dat oude hardware nog steeds nuttig kan zijn en dat het te vroeg is om deze af te schrijven. Er is iets fascinerends aan oude technologieƫn, benaderingen en hardware, en het is ook een uitdaging voor nieuwe bibliotheken en programma's.

Aan het begin van het ontwikkelingsproces had ik niet verwacht dat deze bibliotheek überhaupt mogelijk was. Maar bij het praktisch implementeren van het prototype, terwijl ik regel voor regel aan de basis van de toekomstige bibliotheek toevoegde, raakte ik overtuigd van de haalbaarheid en praktische toepassing.

Samenvattend kan men snelle programma's schrijven; het is gewoon een kwestie van kennis maken met het oude.

Mogelijkheden van de bibliotheek:

  • ondersteuning voor Linux Debian 3 en hoger (natuurlijke build verzekerd);
  • ondersteuning voor Windows 95 – Windows 11;
  • eenvoudige API voor 2D-grafiekbewerking;
  • laden van meerdere grafische formaten (bmp, png, tga, jpg);
  • cross-platform API voor vensters en OS-gebeurtenissen;
  • voor hardwareversnelling van grafiek wordt OpenGL 1.2 en
  • OpenGL 3.3 gebruikt, met ondersteuning voor verwerking van grafiek alleen op de CPU als hardwareversnelling ontbreekt;
  • de renderer kan dynamisch worden gekozen bij het laden van de applicatie;
  • ƩƩn API voor alle systemen - schrijf ƩƩn keer en compileer overal!
  • geluidsweergave;
  • dynamische en statische linking.

Toekomstplannen:

  • streaming geluidsweergave;
  • tekstuitvoer met ondersteuning voor de freetype bibliotheek.
  • extra renderers Direct3D 9, 10, 11;
  • API voor het werken met streams;
  • ingebouwde API-ondersteuning voor netwerkwerk;
  • porteren van het framework naar andere platforms: Android, iOS, MacOS.

Links:

Bron: linux.org.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster