Простая и быстрая мультимедийная библиотека ( SFML ) - это кроссплатформенная библиотека для разработки программного обеспечения, предназначенная для обеспечения простого интерфейса прикладного программирования (API) для различных мультимедийных компонентов в компьютерах. Он написан на C ++ с привязками, доступными для Ada , C , Crystal , D , Euphoria , Go , Java , Julia , .NET , Nim , OCaml , Python , Ruby иРжавчина . [3] Экспериментальные мобильные порты стали доступны для Android и iOS с выпуском SFML 2.2. [4]
Автор (ы) оригинала | Лоран Гомила и другие |
---|---|
Разработчики) | Команда SFML |
Первый выпуск | 9 августа 2007 г . |
Стабильный выпуск | 2.5.1 / 15 октября 2018 г . |
Репозиторий | |
Написано в | C ++ |
Операционная система | Linux , macOS , Windows , FreeBSD |
Тип | API |
Лицензия | zlib Лицензия [1] [2] |
Веб-сайт | www |
SFML обрабатывает создание и ввод в окна , а также создание и управление контекстами OpenGL . Она также обеспечивает графический модуль для простого аппаратного ускорения в 2D компьютерной графики , которая включает в себя текст рендеринга с помощью FreeType , звуковой модуль , который использует OpenAL и сетевой модуль для основной протокола управления передачей (TCP) и протокол пользовательских дейтаграмм (UDP) связи.
SFML - это бесплатное программное обеспечение с открытым исходным кодом, предоставляемое в соответствии с условиями лицензии zlib / png . Он доступен для Linux , macOS , Windows и FreeBSD . [5] [6] Первая версия v1.0 была выпущена 9 августа 2007 года, последняя версия v2.5.1 была выпущена 15 октября 2018 года.
Архитектура программного обеспечения
Модули
SFML состоит из различных модулей:
- Система - векторные и строковые классы Unicode , переносимые средства многопоточности и таймера
- Окно - управление окнами и устройствами ввода, включая поддержку джойстиков , управление контекстом OpenGL
- Графика - аппаратное ускорение 2D-графики, включая спрайты , многоугольники и рендеринг текста.
- Аудио - пространственное воспроизведение и запись звука с аппаратным ускорением
- Сеть - сетевые сокеты TCP и UDP , средства инкапсуляции данных, классы HTTP и FTP.
Хотя графический модуль является одной из основных функций SFML, разработчики, которые заинтересованы только в создании среды для программирования непосредственно в OpenGL, могут сделать это, используя модуль Window отдельно без графического модуля. Точно так же другие модули также могут использоваться независимо друг от друга, за исключением системного модуля, который используется всеми модулями.
Языковые привязки
SFML написан на C ++ и предоставляет интерфейс C ++. Существует несколько языковых привязок, которые позволяют использовать SFML в других языках программирования. [3]
В этой таблице перечислены поддерживаемые привязки для SFML по состоянию на 2017 г.[Обновить].
Имя | Язык | Поддерживаемая версия |
---|---|---|
CSFML 1 | C | 2,5 |
SFML.Net 1 | .СЕТЬ | 2,5 |
CrSFML | Кристалл | 2,5 |
ЗаброшенныйSFML2 | D | 2,4 |
DSFML | D | 2.1 |
EuSFML2 | Эйфория | 2,4 |
csfml-fpc | Свободный Паскаль | 2.4.0 |
GoSFML2 | Идти | 2.0 |
Взлом | Haskell | 2.3.2 |
JSFML | Ява | 2.2 |
CSFML.jl | Юлия | 2.5.1 |
nim-csfml | Ним | 2.3 |
Ocsfml | OCaml | 2.3 |
OCaml-SFML | OCaml | 2.0 |
PasSFML | Паскаль | 2,4 |
pySFML | Python | 2.3.2 |
rbSFML | Рубин | 2.3.2 |
ржавчина-sfml | Ржавчина | 2,4 |
1 Официальные привязки
Неофициальные дополнения
SFML предоставляет основные функции, на которых может быть построено программное обеспечение более высокого уровня . Существуют дополнительные библиотеки, которые обеспечивают дополнительную поддержку графических пользовательских интерфейсов (GUI), [7] [8] 2D- освещения , [9] систем частиц и анимации , [10] воспроизведения видео [11] и тайловых карт . [12]
Прием и усыновление
SFML в основном используется любителями-разработчиками игр, небольшими независимыми разработчиками видеоигр и стартапами, состоящими максимум из нескольких разработчиков. Поскольку SFML не требует написания большого количества кода, он также был принят многими участниками Ludum Dare . [13] По сравнению со старыми библиотеками, такими как Simple DirectMedia Layer (SDL) и Allegro , база пользователей SFML относительно невелика, но продолжает расти. По состоянию на 8 февраля 2021 г.[Обновить], его репозиторий программного обеспечения GitHub был отмечен 6549 пользователями. [14]
SFML использовался при обучении в университетах и в научных проектах. [15] [16] [17] [18] [19] [20]
Примеры использования видеоигр
- Atom Zombie Smasher , [21] стратегия в реальном времени .
- Гостиная команда , [22] Симуляторы, Интерактивная фантастическая игра.
- Шахматы , [23] игра-головоломка .
- Cosmoscroll , [24] бесплатная космическая стрелялка с открытым исходным кодом.
- Crea , [25] модифицируемая 2D-игра- песочница .
- Зачарованный лес [26]
- Extreme Tux Racer , [27] бесплатная арктическая гоночная игра с открытым исходным кодом с участием Тукса (с использованием SFML с версии 0.7).
- HolySpirit , [28] Трехмерная изометрическая игра «руби и руби» .
- Надеюсь , [29] наведи и нажми на приключенческую игру (вроде Myst ).
- Я могу трансформировать , [30] 2D платформер для Android.
- KeeperRL , [31] симулятор подземелий с элементами rogue-like и RPG.
- Kroniax , [32] минималистичный сайд-скроллер и первая игра SFML для Android.
- Теория пределов , [33] бесконечная процедурная космическая игра .
- МАРС , [34] многопользовательская стрелялка.
- Moonman , [35] игра-песочница с исследованием пиксельной графики.
- Open Hexagon , [36] бесплатныйклон Super Hexagon с открытым исходным кодом.
- Ovid The Owl , [37] платформер- головоломка.
- Пионеры , [38] пошаговая исследовательская игра с элементами ролевой игры.
- Сокровища пиратов [26]
- Postmortem: one must die , [39] сюжетная приключенческая игра .
- Project Black Sun , [40] ретро 2D видеоигра с боковой прокруткой .
- TacWars , [41] RPG-головоломка, в которой гномы сражаются с гоблинами.
- Герцог , [42] игровой платформер.
- Стрельба из Исаака , [43] вертикальный шутер.
- Ваганте , [44] платформер RPG в жанре экшн.
- Zloxx , [45] 2D платформер.
Другие примеры игр, использующих SFML, перечислены на IndieDB . [46]
Другое использование программного обеспечения
- Aquila , [47] библиотека цифровой обработки сигналов (DSP) соткрытым исходным кодомдля C ++.
- Otter , [48] 2D-фреймворк C #, построенный на SFML 2.
- GDevelop , [49] программное обеспечение для создания игр с открытым исходным кодом.
- Immersion Engine , [50] инструмент для детальной визуализации ландшафтов и архитектуры.
- is :: Engine , [51] Двумерный игровой движок C ++ для Android и ПК.
Смотрите также
- Аллегро
- ClanLib
- CreateJS
- Межплатформенное промежуточное ПО поддержки
- GLFW
- OpenGL
- Набор инструментов OpenGL Utility (GLUT)
- Райлиб
- Простой уровень DirectMedia (SDL)
Рекомендации
- ^ "Лицензия" .
- ^ «GitHub - SFML / SFML: простая и быстрая мультимедийная библиотека» .
- ^ а б «Привязки (SFML / Скачать)» . SFML . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Список изменений (SFML / Разработка)» . Проверено 18 декабря 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ Гомила, Лоран. «SFML 2.1 (SFML / Загрузить)» . SFML . Проверено 9 августа 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "SFML / Config.cmake на f24ca9a84012531cf886f72354c1f88341dd7ac7 · SFML / SFML" . GitHub . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «СФГУИ» . SFGUI . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «ТГУИ» . TGUI . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "ховатерц / свет" . GitHub . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Бромеон :: Тор" . Ян Галлер . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "sfeMovie" . sfeMovie . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Загрузчик мозаичных карт SFML | SourceForge.net" . SourceForge . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "sfml | Ludum Dare" . Ludum Dare . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «SFML / SFML» . GitHub . 10 мая 2018 . Проверено 10 мая 2018 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Настройка SFML» . Университет Мэри Вашингтон . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Центр Ренсселера по программному обеспечению с открытым исходным кодом» . Политехнический институт Ренсселера . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «CSCI 261 - Концепции программирования» . Колорадская горная школа . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «COMPSCI 464: Компьютерная графика» . Государственный университет Бойсе . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Engaging Computing Group | Comp4spr14 / PS5b" . Массачусетский университет Лоуэлла . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Домашняя страница Тянью Чэна" . Техасский университет в Остине . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ Чанг, Брендон (20 августа 2011 г.). «Atom Zombie Tech« Новости Blendo » . Blendo Games . Проверено 9 августа 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Команда гостей - научно-фантастическая интерактивная фантастика» . 7 июля 2016 . Проверено 1 апреля 2020 года . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Шахматы [игра-головоломка SFML]" . 18 октября 2011 . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «cosmoscroll - стрелялка на основе SFML. - Github» . GitHub . Проверено 19 июля 2015 года . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Обновление разработки - Освещение и сохранение | Осадные игры» . Осадные игры. 3 апреля 2012 . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ а б «Сокровище пирата и Зачарованный лес» . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «НОВОСТИ для Extreme Tux Racer» . Редакция 698. 27.08.2017 . Проверено 12 сентября 2017 года . CS1 maint: обескураженный параметр ( ссылка )
- ^ "HolySpirit Windows game | Desura" . Десура . 13 ноября 2014 . Проверено 19 июля 2015 года . CS1 maint: обескураженный параметр ( ссылка )
- ^ «FAQ - блог разработчиков Hope» . 2015-08-11 . Дата обращения 11 августа 2015 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Я могу трансформироваться» . Проверено 9 ноября 2018 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "miki151 / keeperrl" . Проверено 11 января 2015 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Kroniax доступен в Play Store!» . Проверено 15 ноября 2014 года . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Форумы по теории пределов • Просмотр темы - SFML :: Текстурирование" . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «MARS - нелепый шутер - MARS 0.7.2 Bugfix Release» . MARS 26 апреля 2011 . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «SFML 2.0 | BP | Я делаю видеоигры» . Бен Портер . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Open Hexagon - увлекательная динамичная игра» . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "ЛЗР Сова Овидий" . Лиран З. Рафаэли . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Заметки о развитии Эйгена» . Эйген Ленк . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Инструменты и ресурсы для создания инди-игры | Домен Кубазавра» . Якуб Каштальский. 2013-04-20 . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Доступна версия 1.0.2 из новостей ПК и Linux - Project Black Sun Game - Indie DB» . Инди DB . 20 декабря 2011 . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Домашняя страница РПГ-головоломки TacWars" .
- ^ «Герцог» . 8 июня 2009 . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Филипп Офферманн» Расстрел Исаака » . Филипп Офферман . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Ваганте | Инструменты торговли" . Игра Ваганте. 3 декабря 2013 г. Архивировано из оригинала 13 ноября 2014 года . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Zloxx II - Action Jump'n'Run» . Проверено 15 ноября 2014 года . CS1 maint: обескураженный параметр ( ссылка )
- ^ sfml / игры
- ^ «Скачать | Aquila - C ++ библиотека для цифровой обработки сигналов» . Збигнев Сициарц . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Otter - 2D C # Framework, построенный на SFML 2» . Кайл Пулвер . Проверено 13 ноября 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Персональный сайт Флориана Ривала» . Флориан Соперник . Проверено 14 ноября 2014 года . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Хорошие новости для ImmersionEngine» . Facebook . Проверено 12 февраля 2015 года . CS1 maint: обескураженный параметр ( ссылка )
- ^ «is :: Engine - игровой движок 2D C ++ для Android и ПК» . Дауда . Дата обращения 19 февраля 2020 . CS1 maint: обескураженный параметр ( ссылка )
дальнейшее чтение
- Ян Халлер, Хенрик Фогелиус Ханссон, Артур Морейра: Разработка игр SFML , Packt Publishing, ISBN 1-849696-84-5
- http://www.lifehacker.com.au/2013/02/xna-is-dead-3-alternatives-that-let-you-use-your-c-and-net-skills/
- https://www.binpress.com/tutorial/creating-a-city-building-game-with-sfml/137
- http://www.gamefromscratch.com/page/Game-From-Scratch-CPP-Edition-The-Introduction.aspx
Внешние ссылки
- Официальный веб-сайт
- Простая и быстрая мультимедийная библиотека на GitHub
- Учебники по SFML