SFML

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
SFML
Logótipo
Desenvolvedor Laurent Gomila e outros
Modelo do desenvolvimento Software Livre
Versão estável 2.2 (17 de dezembro de 2014; há 32 semanas e 3 dias)
Sistema operativo Multiplataforma
Gênero(s) API
Licença Licença zlib
Estado do desenvolvimento Corrente
Página oficial www.sfml-dev.org

Simple and Fast Multimedia Library (SFML) é uma biblioteca multiplataforma, orientada a objetos e livre. É uma API multimédia escrita em C++ por Laurent Gomila, que tem como objectivo fornecer uma interface simples para vários componentes multimédia do computador.

Além disso, a biblioteca tem bindings para outras linguagens como C, D, Java, Python, Ruby, .NET, Go, Rust, OCaml, Euphoria e Nim. Com o lançamento da versão 2.2, também foi introduzido suporte experimental para as plataformas Android e iOS.

A biblioteca lida com criação de janelas, gestão do input assim como manutenção e criação dos contextos de OpenGL. Também fornece um módulo para renderização de gráficos em 2D, acelerado por hardware, que inclui renderização de texto através da biblioteca FreeType. O módulo de audio utiliza o OpenAL como base para reprodução e gravação de audio e o módulo de rede que fornece uma API para comunicação de dados em rede, através de TCP ou UDP.

A biblioteca é livre e open-source, distribuída de acordo com os termos da licença zlib/png. Está disponível em Windows, Linux, OS X e FreeBSD.

Arquitectura do Software[editar | editar código-fonte]

Módulos[editar | editar código-fonte]

A biblioteca SFML é composta por vários módulos:

System[editar | editar código-fonte]

Classes para manipular vectores, strings de texto em Unicode, threads multiplataforma e temporizadores.

Window[editar | editar código-fonte]

Classes para abrir janelas com contextos de OpenGL activos, com suporte para lidar com input, incluindo joysticks (comandos e outros dispositivos)

Graphics[editar | editar código-fonte]

Classes para renderização de gráficos com aceleração por hardware, incluindo texto, polígonos e sprites.

Audio[editar | editar código-fonte]

Classes para reproduzir ou gravar audio. Incluindo espacialização 3D dos sons, streaming de músicas, tudo com aceleração por hardware.

Network[editar | editar código-fonte]

Classes para transmissão de dados por UDP e TCP multiplataforma, utilitários para encapsular dados em pacotes para o seu transporte e uma camada alto nível para transmitir dados via HTTP ou FTP.

Apesar de o módulo gráfico ser um dos mais procurados na biblioteca, programadores com interesse em usar o ambiente SFML para programar directamente com OpenGL podem fazer isso facilmente ignorando o módulo gráfico e utilizando apenas o módulo Window. Todos os outros módulos são independentes, com excepção do System, do qual todos os outros módulos dependem.

Bindings para outras linguagens[editar | editar código-fonte]

A biblioteca SFML é escrita nativamente em C++, contudo, existem vários bindings da biblioteca que permitem que a mesma seja utilizada com outras linguagens.

Esta tabela contém a lista de bindings existentes actualmente.

Nome Linguagem Versão suportada
CSFML1 C 2.2
SFML.Net1 .NET 2.2
JSFML Java 2.2
DSFML D 2.1
pySFML Python 2.2
rbSFML Ruby 2.0
GoSFML2 Go 2.1
rust-sfml Rust 2.1
Ocsfml OCaml 2.2
ocaml-sfml OCaml 2.0
EuSFML2 Euphoria 2.0
nim-csfml Nim 2.2
SFML.jl Julia 2.2

1 Bindings oficiais

Extensões não oficiais[editar | editar código-fonte]

A biblioteca SFML forma uma base de software na qual outras bibliotecas ou aplicações podem ser construídas. Existem algumas extensões para vários fins como suportar GUIs (Graphical user interface), iluminação 2D, sistemas de partículas e animação, reprodução de vídeos e mapas de tiles.

Recepção da biblioteca[editar | editar código-fonte]

A biblioteca é principalmente usada por desenvolvedores de jogos amadores e empresas de startup com poucos elementos. Como a biblioteca é bastante alto nivel e uma boa ferramenta para fazer rapidamente pequenos jogos, tem sido adotada por participantes da competição Ludum Dare. Comparativamente a outras bibliotecas concorrentes mais antigas, a base de utilizadores de SFML ainda é relativamente pequena mas o seu crescimento tem sido consistente. Neste momento (4 de Março de 2015), o repositório no GitHub já foi seguido por 1968 utilizadores.

A biblioteca também já foi usada recurrentemente para ensino nas universidades e para projectos científicos também.

Video jogos que usam SFML[editar | editar código-fonte]

Outros exemplos de jogos que usam SFML podem ser encontrados no IndieDB, aqui.

Outro softwares que usam SFML[editar | editar código-fonte]

Histórico de versões[editar | editar código-fonte]

  • 1.0 (Julho 2007)
    • 1.1 (18 de Setembro de 2007)
    • 1.2 (16 de Janeiro de 2008)
    • 1.3 (22 de Junho de 2008)
    • 1.4 (7 de Janeiro de 2009)
    • 1.5 (4 de Junho de 2009)
    • 1.6 (6 de Abril de 2010) : release para reparação de bugs
  • 2.0 (29 de Abril de 2013)
    • 2.1 (27 de Julho de 2013)
    • 2.2 (17 de Dezembro de 2014)


Referências

  1. Atom Zombie Tech « Blendo news Blendo Games (20 August 2011). Visitado em 9 August 2014.
  2. Chesster [SFML Puzzle Game] (18 October 2011). Visitado em 13 November 2014.
  3. cosmoscroll - SFML-based shoot'em up game. - Google Project Hosting Google Project Hosting. Visitado em 13 November 2014.
  4. Development Update - Lighting and Saving | Siege Games Siege Games (3 April 2012). Visitado em 13 November 2014.
  5. HolySpirit Windows game | Desura Desura (13 November 2014). Visitado em 13 November 2014.
  6. Kroniax available in the Play Store!. Visitado em 15 November 2014.
  7. M.A.R.S. - a ridiculous shooter - M.A.R.S. 0.7.2 Bugfix Release M.A.R.S. (26 April 2011). Visitado em 13 November 2014.
  8. SFML 2.0 | BP | I make video games. Ben Porter. Visitado em 13 November 2014.
  9. LZR Ovid the Owl Leeran Z. Raphaely. Visitado em 13 November 2014.
  10. Version 1.0.2 is available of PC and Linux news - Project Black Sun Game - Indie DB Indie DB (20 December 2011). Visitado em 13 November 2014.
  11. The Duke (8 June 2009). Visitado em 13 November 2014.
  12. Vagante | Tools of the Trade Vagante Game (3 December 2013). Visitado em 13 November 2014.
  13. Philippe Offermann » The Shooting Of Isaac Philippe Offerman. Visitado em 13 November 2014.
  14. Open Hexagon - challenging fast paced game. Visitado em 13 November 2014.
  15. a b Pirate's Treasure & Enchanted Forest. Visitado em 13 November 2014.
  16. Limit Theory Forums • View topic - SFML::Texturing. Visitado em 13 November 2014.
  17. Tools and resources for making an indie game | Koobazaur's Domain Jakub Kasztalski. Visitado em 13 November 2014.
  18. Eigen's development notes Eigen Lenk. Visitado em 13 November 2014.
  19. Zloxx II - An action Jump'n'Run. Visitado em 15 November 2014.
  20. miki151/keeperrl. Visitado em 11 January 2015.
  21. Download | Aquila - a C++ library for digital signal processing Zbigniew Siciarz. Visitado em 13 November 2014.
  22. Otter - A 2D C# Framework built on SFML 2 Kyle Pulver. Visitado em 13 November 2014.
  23. Florian Rival's personal website Florian Rival. Visitado em 14 November 2014.
  24. Good news for ImmersionEngine Facebook. Visitado em 12 February 2015.

Ver também[editar | editar código-fonte]

Leitura adicional[editar | editar código-fonte]


Ligações externas[editar | editar código-fonte]