Primo rilascio della libreria multimediale LDL con supporto per sistemi obsoleti.

Vi presento la mia prima versione della biblioteca multimediale sviluppata Little DirectMedia Layer, abbreviato in LDL.

La biblioteca è scritta secondo lo standard C++ 98, il che consente di compilarla a partire da Visual C++ 6.0. Il codice è distribuito sotto i termini della Boost Software License 1.0. Tuttavia, la biblioteca non limita i programmatori nella scelta dello standard del linguaggio C++, il programmatore può utilizzare qualsiasi standard moderno del linguaggio. Mi attengo alla filosofia del downgrade — ossia usare dispositivi e software obsoleti nella vita quotidiana, quando le aziende non supportano più i propri sistemi operativi o dispositivi "vecchi", aumentando ad ogni nuova versione del proprio prodotto i requisiti di sistema, oppure interrompendo il supporto per un dispositivo. Milioni di dispositivi in tutto il mondo elaborano ogni secondo miliardi di istruzioni di codice non ottimizzato.

Quest'anno ho partecipato alla conferenza C++ 2023 con una relazione «Avanti nel passato, o sviluppiamo un framework per Windows 95 nel 2023».

Con il mio progetto voglio dimostrare che l'hardware vecchio può ancora essere utile e che è troppo presto per buttarlo. C'è qualcosa di affascinante nelle tecnologie, nei metodi e nei componenti obsoleti, e questo è anche una sfida per le nuove librerie e programmi.

All'inizio del processo di sviluppo, non avrei mai immaginato che questa biblioteca fosse possibile. Ma nella realizzazione pratica del prototipo, aggiungendo linea dopo linea al fondamento della futura biblioteca, mi sono convinto della possibilità della sua creazione e applicazione pratica.

Riassumendo quanto detto, è possibile scrivere programmi veloci, basta utilizzare le conoscenze antiche.

Caratteristiche della libreria:

  • supporto per Linux Debian 3 e versioni successive (compilazione nativa garantita);
  • supporto per Windows 95 - Windows 11;
  • API semplice per lavorare con grafica 2D;
  • caricamento di numerosi formati grafici (bmp, png, tga, jpg);
  • API multipiattaforma per finestre ed eventi del sistema operativo;
  • per l'accelerazione hardware della grafica si utilizzano OpenGL 1.2 e
  • OpenGL 3.3, supportando anche l'elaborazione grafica solo su CPU, se l'accelerazione hardware è assente;
  • il render può essere scelto dinamicamente all'avvio dell'applicazione;
  • un'unica API per tutti i sistemi — scrivi una volta e compila ovunque!
  • riproduzione audio;
  • collegamento dinamico e statico.

Piani futuri:

  • riproduzione audio in streaming;
  • output di testo con supporto per la libreria freetype;
  • rendering aggiuntivi Direct3D 9, 10, 11;
  • API per lavorare con i flussi;
  • supporto API integrato per la gestione della rete;
  • porting del framework su altre piattaforme: Android, iOS, MacOS.

Link:

Fonte: linux.org.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster