La SFML 2.5 est disponible !
Et ajoute une nouvelle classe sf::VertexBuffer pour sauvegarder les primitives 2D

Le , par LittleWhite, Responsable 2D/3D/Jeux
La SFML (Simple and Fast Media Library), une bibliothèque C++ pour la création de jeux vidéo arrive en version 2.5. Ainsi, elle apporte tout le nécessaire pour créer un jeu vidéo : création de fenêtres (compatible OpenGL), gestion des entrées utilisateur, gestion de l'audio, gestion du réseau....


La bibliothèque SFML se voit ajouter une API pour les curseurs, une API pour le presse-papiers, un programme d'exemple pour les joysticks, un autre pour iOS et un pour montrer l'utilisation des classes sf::VertexBuffer, sf::Shader et sf::Thread, une classe sf::VertexBuffer pour stocker les primitives 2D.
Pour éviter des risques de fuite de mémoire, le destructeur de sf::NonCopyable est maintenant protégé. De plus, des fuites ont aussi été corrigées dans sf::Font et sf::Text. Le crash lors de l'initialisation d'une variable sf::Clock globale a été corrigé.
Le support de la compilation pour les plateformes mobiles a été amélioré : la version minimale d'Android nécessaire est la 14. La gestion des derniers NDK et Gradle a été ajoutée. Le support 32 bits d'iOS a été retiré.

Voici la liste des changements apportés par cette nouvelle version :

Généralités

  • Replaced FindSFML.cmake with SFMLConfig.cmake (#1335)
  • Markdown'd and updated readme, changelog, contributing and license files (#1196, #1368, #1317)
  • Improve packaging support (#1173)
  • Added Tagfile generation and search (#1327)
  • Added CMake variables to select the modules to be built (#798, #800)
  • Do not install extlibs if SFML_USE_SYSTEM_DEPS is true (#1236, #1237)
  • Fixed various type conversion/comparison warnings (#1325)
  • [Android] Increased minimum API version to 14 (#1362)
  • [Android] Removed custom toolchain and added support for the newest NDK version and Gradle (#1350, #1393)
  • [iOS] Updated the binary libs from exlibs/libs-ios (#1207, #1209)
  • [iOS] Use a CMake toolchain file for iOS build (#1268, #1269)
  • [iOS] Install extlibs if needed (#1348)
  • [iOS] Drop 32 bit support (#1374)
  • [iOS] Force correct iOS architecture for cmake (#1373, #1377)
  • [iOS] Added iOS example (#1378)
  • [macOS] Fixed launch of cocoa examples (#1334)
  • [macOS] Improved application signing process (#1020, #1036, #1194)
  • [macOS] Improved CMake script (#1215, #1371)
  • [macOS] Use -stdlib=libc++ (#1361)
  • [OpenBSD] Added support for OpenBSD (#1330)


Général
  • Added protected destructor to sf::NonCopyable to prevent possible resource leaks (#1125, #1161)
  • Fixed crash when sf::Clock is constructed in a global scope (#1258)


Fenêtrage
  • Fonctionnalités
    • Implemented Cursor API (#269, #784, #827)
    • Implemented Clipboard API (#715, #1204, #1221)
    • Renamed a few key codes (#1395)
    • Added joystick example (#1363)
    • [Windows] Added support for interfacing with joysticks via DirectInput when it is available (#1251, #1326)
    • [Windows] Fix discrete GPU preference symbols being exported from the wrong place (#1192, #1406)

  • Corrections de bogues
    • [Android] Return correct key code for delete/backspace (#1309, #1362)
    • [iOS] Don't need to find vorbisfile or vorbisenc (#1347)
    • [Linux] Fixed sf::Window::getPosition() returning incorrect position because of differences in window managers (#1228, #1266)
    • [Linux] Fix X11 key repeat handling not filtering out events from other windows (#1223, #1230, #1291)
    • [Linux] Restore fullscreen of a non-visible window (#1339)
    • [macOS] Fixed window menu not working (#1091, #1180, #1193)
    • [macOS] Fixed crash with application messing hardware detection e.g. TeamViewer (#1323)
    • [macOS] Added support for (some) Hat/POV axis (#1248)
    • [Windows] Prevent uninitialized read by zeroing memory (#1264)
    • [Windows] Fixed modifier keys handling (#1357)



Graphiques
  • Fonctionnalités
    • Implemented additional line spacing and letter spacing in sf::Text (#928, #1366)
    • Added sf::VertexBuffer class (#1308)
    • Added GPU local texture copying support, allowing performance optimizations and texture swapping (#1119, #1319, #1320)
    • Optimize performance by skipping glTexCoordPointer() call if not needed (#1015)
    • Generate shape outline vertices only if necessary (#925, #1356)
    • Removed dependency to libjpeg, stb_image_write now supports writing JPEG files (#1278, #1279)
    • Enable comparing sf::Transform and optimize resetting OpenGL back to the identity matrix (#1298)
    • Added missing setActive() virtual method to sf::RenderTarget (#1157)
    • Updated stb_image to v2.16 and stb_image_write to v1.07 (#1270)
    • Added sf::RenderTexture stencil and multisampling support (#1274, #1285)
    • Added example demonstrating sf::VertexBuffer, sf::Shader and sf::Thread usage (#1352)
    • Optimized sf::RenderTexture performance (#1379)

  • Corrections de bogues
    • Properly free memory in sf::Font::cleanup() (#1119)
    • Fixed memory leak in sf::Font (#1216)
    • Fix OpenGL texture coordinate pointer not being updated correctly under certain conditions (#1297)
    • Fix for broken text when the font is reloaded (#1345)
    • Fix memory leak in sf::Text (#1233, #1360)
    • Fixed strict aliasing punning warning when generating the key of a glyph in Font.cpp (#1187, #1396)
    • Fixed OpenGL version string being parsed incorrectly on some platforms (#1249, #1390)
    • [macOS] Worked around render target bug (#1132, #1342)
    • [Windows] Replaced time-based joystick poll with a hardware event handler (#1179, #1195, #1198, #1199, #1421)



Audio
  • Fonctionnalités
    • Added loop point support to sf::Music (#177, #629)
    • Added support for the extensible PCM wave file format (#1296)
    • [iOS] Enable audio module (#1338)

  • Corrections de bogues
    • Fixed inconsistent seek behavior in sf::SoundStream (#1118)
    • Fixed stack overflow in sf::SoundStream::fillAndPushBuffer() (#1154)
    • Fixed seeking quirks in the FLAC reader (#966, #1162)
    • Allow polymorphism with sf::SoundSource (#1185)
    • Fixed WAV file writer writing wrong header values (#1280, #1281)
    • Small bugfix to argument of alcCaptureOpenDevice() (#1304, #1305)
    • [iOS] Find OpenAL correctly (#1263, #1376)
    • [Windows] Updated OpenAL Soft to 1.18.1 fixing crashes (#1247, #1260)



Réseau
  • Fonctionnalités
    • Add append/overwrite parameter to Ftp::upload (#1072, #1399)



  • Correction de bogues
    • Fixed wrong condition for building network support (#1253)
    • Changed TCP listen backlog from 0 to SOMAXCONN (#1369, #1407)
    • Fixed socket reuse not conforming to documentation (#1346, #1408)



Votre opinion

Allez-vous directement mettre à jour votre projet ?
Quelles sont les fonctionnalités que vous attendez ?

Voir aussi

Actualité sur la sortie de la SFML 2.3
Actualité sur la sortie de la SFML 2.2
Actualité sur la sortie de la SFML 2.1
Actualité sur la sortie de la SFML 2.0

Source

Annonce officielle


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de orpheeh orpheeh - Membre du Club https://www.developpez.com
le 15/05/2018 à 18:28
Cool !
Je ne savais pas que on pouvait développer des applications android avec SFML.

Les fonctionnalités que j'attends sont:
Une fonction qui permet de modifier la transparence d'un sf::Sprite à volonté.
Un nouveau module, le module GUI avec toutes les classes qu'il faut pour mettre des boutons, etc
Avatar de Bousk Bousk - Rédacteur/Modérateur https://www.developpez.com
le 15/05/2018 à 23:48
Citation Envoyé par orpheeh Voir le message
Une fonction qui permet de modifier la transparence d'un sf::Sprite à volonté.
sf::Sprite::setColor

 
Responsable bénévole de la rubrique 2D - 3D - Jeux : LittleWhite -