Biblioteca multimedia simple y rápida
| Biblioteca multimedia simple y rápida
| |
|---|---|
|
| |
| Datos básicos
| |
| desarrollador | Laurent Gomila |
| Año de publicación | 2007 |
| Versión actual | 2.5.1 |
| sistema operativo | Windows , Linux , macOS |
| lenguaje de programación | C ++ |
| categoría | Biblioteca de programas |
| Licencia | zlib / libpng |
| sfml-dev.org | |
La biblioteca multimedia simple y rápida ( SFML ; alemán: biblioteca multimedia simple y rápida ) es un marco multimedia de código abierto orientado a objetos e independiente de la plataforma que está disponible bajo la licencia zlib / libpng . Está escrito en C ++ y tiene funciones internas específicas del sistema operativo y bibliotecas externas. Además de C ++, ofrece conexiones para los lenguajes de programación C , .NET ( C # , VB.NET , ...), Python , Ruby , OCaml , D y Java . SFML fue desarrollado con la intención de permitir una programación multimedia lo más amigable y eficiente posible con un alto nivel de abstracción, de ahí el nombre de la biblioteca.
caracteristicas
SFML se divide en varios subpaquetes que cumplen diferentes áreas de responsabilidad. Las características importantes incluyen:
- sistema
- Núcleo de la API
- Ventana
- Creación y gestión de ventanas independientes de la plataforma
- Contexto de renderizado OpenGL para habilitar el dibujo en la ventana
- Manejo de eventos y entrada en tiempo real desde mouse, teclado y joystick
- Gráficos
- Interfaz gráfica 2D para OpenGL
- Cargue y guarde formatos de archivo de imagen comunes (BMP, JPG, PNG, TGA, DDS, PSD)
- Visualización de sprites en la pantalla
- Traducción, rotación, espejo, escalado y coloración de objetos de dibujo.
- Representación de fuentes (TrueType, OpenType, fuentes de mapa de bits (FNT) y otros formatos)
- Primitivas gráficas 2D como círculos, líneas, rectángulos
- Clase de cámara que permite una vista dinámica de un área 2D
- Audio
- Soporte de efectos de sonido y música.
- Cargue formatos populares como OGG, WAV, AIFF y algunos más
- Interfaz simple para grabaciones de audio
- Streaming para archivos grandes
- Sonido 3D
- Red
- Conexión de red
- Comunicación a través de sockets TCP y UDP
- Transferencia de datos sencilla a través de paquetes expandibles basados en flujo
- Clases para protocolos de Internet HTTP y FTP
SFML es principalmente adecuado para juegos y aplicaciones multimedia. Dado que el marco para gráficos utiliza OpenGL , las aplicaciones 3D también pueden basarse en SFML. Por ejemplo, puede tener la implementación de ventanas, eventos y sonidos realizados por SFML mientras edita los gráficos 3D directamente en OpenGL. Dependiendo de los requisitos, los paquetes parciales deseados se pueden integrar individualmente, por ejemplo, el paquete del sistema es suficiente para la programación en paralelo.
desarrollo
SFML ha sido desarrollado activamente por Laurent Gomila desde julio de 2007. La versión 2.0 apareció en abril de 2013, reemplazando a la versión 1.6 de abril de 2010. Durante el desarrollo de SFML 2, se realizaron cambios fundamentales en el marco y se agregaron una gran cantidad de nuevas características. La versión 2.1 fue lanzada en julio de 2013, que principalmente corrige errores de la versión 2.0; No hubo cambios importantes en la API.
Con el lanzamiento de la versión 2.2, se implementó el soporte para las plataformas móviles Android e iOS en SFML.
Además de C ++, existen conexiones oficiales a C y C # por parte del propio desarrollador. Los usuarios de SFML ofrecen lenguajes de programación adicionales a través de proyectos, y en algunos casos hay varias conexiones por lenguaje de programación. Se están desarrollando activamente enlaces para Java, D, Python, Ruby, OCaml, Go, Nimrod, Euphoria y Rust. La lista completa se puede encontrar en la página sfml-dev.org en Enlaces.
En junio de 2013 se publicó un primer libro sobre SFML, titulado "Desarrollo de juegos SFML". Explica cómo desarrollar un juego 2D usando la biblioteca SFML.
Ver también
enlaces web
- Sitio web oficial de SFML (inglés)
- Fijaciones
- Portal alemán SFML con foro
- Proyecto Github de SFML
- Libro "Desarrollo de juegos SFML"