Biblioteca multimídia simples e rápida

Biblioteca multimídia simples e rápida

logotipo
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

Image
Logotipo até e incluindo a versão 1.6

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

Evidência individual

  1. Changelog ( inglês ) sfml-dev.org. Recuperado em 30 de outubro de 2019.