Biblioteca multimídia simples e rápida
| Biblioteca multimídia simples e rápida
| |
|---|---|
|
| |
| Dados básicos
| |
| desenvolvedor | Laurent Gomila |
| Ano de publicação | 2007 |
| Versão atual | 2.5.1 |
| sistema operacional | Windows , Linux , macOS |
| linguagem de programação | C ++ |
| categoria | Biblioteca de programas |
| Licença | zlib / libpng |
| sfml-dev.org | |
A Biblioteca Multimídia Simples e Rápida ( SFML ; Alemão: Biblioteca Multimídia Simples e Rápida ) é uma estrutura de multimídia de fonte aberta orientada a objetos independente de plataforma que está disponível sob a licença zlib / libpng . Ele é escrito em C ++ e possui funções específicas do sistema operacional interno e bibliotecas externas. Além de C ++, oferece conexões para as linguagens de programação C , .NET ( C # , VB.NET , ...), Python , Ruby , OCaml , D e Java . SFML foi desenvolvido com a intenção de permitir a programação multimídia mais amigável e eficiente em um alto nível de abstração, daí o nome da biblioteca.
características
SFML é dividido em vários subpacotes que atendem a diferentes áreas de responsabilidade. Os recursos importantes incluem:
- sistema
- Núcleo da API
- Janela
- Criação independente de plataforma e gerenciamento de janelas
- Contexto de renderização OpenGL para habilitar o desenho na janela
- Tratamento de eventos e entrada em tempo real do mouse, teclado e joystick
- Gráficos
- Interface gráfica 2D para OpenGL
- Carregar e salvar formatos de arquivo de imagem comuns (BMP, JPG, PNG, TGA, DDS, PSD)
- Exibição de sprites na tela
- Translação, rotação, espelhamento, dimensionamento e coloração de objetos de desenho
- Representação de fontes (TrueType, OpenType, fontes de bitmap (FNT) e outros formatos)
- Primitivos gráficos 2D, como círculos, linhas, retângulos
- Classe de câmera que permite uma visão dinâmica de uma área 2D
- Áudio
- Suporte de efeitos sonoros e música
- Carregue formatos populares como OGG, WAV, AIFF e alguns mais
- Interface simples para gravações de áudio
- Streaming para arquivos grandes
- Som 3D
- Rede
- Conexão de rede
- Comunicação via soquetes TCP e UDP
- Fácil transferência de dados por meio de pacotes expansíveis baseados em fluxo
- Aulas para protocolos de Internet HTTP e FTP
SFML é principalmente adequado para jogos e aplicativos de multimídia. Como a estrutura para gráficos usa OpenGL , os aplicativos 3D também podem ser baseados em SFML. Por exemplo, você pode ter a implementação de janelas, eventos e sons feitos por SFML enquanto edita os gráficos 3D diretamente em OpenGL. Dependendo dos requisitos, os pacotes parciais desejados podem ser integrados individualmente, por exemplo, o pacote do sistema é suficiente para a programação paralela.
desenvolvimento
SFML foi desenvolvido ativamente por Laurent Gomila desde julho de 2007. A versão 2.0 apareceu em abril de 2013, substituindo a versão 1.6 de abril de 2010. Durante o desenvolvimento do SFML 2, mudanças fundamentais foram feitas na estrutura e um grande número de novos recursos foram adicionados. A versão 2.1 foi lançada em julho de 2013, que corrige principalmente erros da versão 2.0; Não houve grandes mudanças na API.
Com o lançamento da versão 2.2, o suporte para as plataformas móveis Android e iOS foi implementado em SFML.
Além do C ++, há conexões oficiais para C e C # pelo próprio desenvolvedor.Linguagens de programação adicionais são oferecidas por meio de projetos de usuários SFML e, em alguns casos, existem várias conexões por linguagem de programação. Bindings para Java, D, Python, Ruby, OCaml, Go, Nimrod, Euphoria e Rust estão sendo desenvolvidos ativamente. A lista completa pode ser encontrada na página sfml-dev.org em Bindings.
Em junho de 2013, um primeiro livro sobre SFML foi publicado, intitulado "SFML Game Development". Ele explica como desenvolver um jogo 2D usando a biblioteca SFML.
Veja também
Links da web
- Site oficial do SFML (inglês)
- Bindings
- Portal alemão SFML com fórum
- Projeto Github por SFML
- Livro "SFML Game Development"