Простая и быстрая мультимедийная библиотека
![]() Логотип СФМЛ | |
Оригинальный автор(ы) | Лоран Гомила и другие. |
---|---|
Разработчик(и) | Команда СФМЛ |
Первоначальный выпуск | 9 августа 2007 г |
Стабильная версия | 2.6.1 / 4 ноября 2023 г |
Репозиторий | |
Написано в | С++ |
Операционная система | Linux , macOS , Windows , FreeBSD |
Тип | API |
Лицензия | Лицензия zlib [1] [2] |
Веб-сайт | www |
Простая и быстрая мультимедийная библиотека ( SFML ) — это кроссплатформенная разработки программного обеспечения, библиотека предназначенная для предоставления простого интерфейса прикладного программирования (API) для различных мультимедийных компонентов компьютеров. Он написан на C++ с доступны привязки для Ada , C , Crystal , D , Euphoria , Go , Java , Julia , .NET , Nim , OCaml , Python , Ruby и Rust . [3] Экспериментальные мобильные порты стали доступны для Android и iOS с выпуском SFML 2.2. [4]
SFML обрабатывает создание и ввод данных в Windows , а также создание контекстов OpenGL и управление ими . Он также предоставляет графический модуль для простого аппаратного ускорения компьютерной 2D-графики , который включает в себя рендеринг текста с использованием FreeType , аудиомодуль, использующий OpenAL , и сетевой модуль для связи по базовому протоколу управления передачей (TCP) и протоколу пользовательских дейтаграмм (UDP).
SFML — это бесплатное программное обеспечение с открытым исходным кодом, предоставляемое в соответствии с условиями лицензии zlib/png . Он доступен в Linux , macOS , Windows и FreeBSD . [5] [6] Первая версия v1.0 была выпущена 9 августа 2007 г., а последняя версия v2.6.1 — 4 ноября 2023 г. [7]
Архитектура программного обеспечения
[ редактировать ]Модули
[ редактировать ]SFML состоит из различных модулей:
- Система — классы векторов и Unicode строк , переносимые средства потоковой обработки и таймера.
- Окно — управление окнами и устройствами ввода , включая поддержку джойстиков , OpenGL. управление контекстом
- Графика — аппаратное ускорение 2D-графики, включая спрайты , полигоны и рендеринг текста.
- с аппаратным ускорением. Аудио – пространственное воспроизведение и запись звука
- TCP и UDP Сеть — сетевые сокеты , средства инкапсуляции данных, HTTP и FTP. классы
Хотя графический модуль является одной из основных функций SFML, разработчики, которые заинтересованы только в создании среды для программирования непосредственно в OpenGL, могут сделать это, используя модуль Window отдельно, без графического модуля. Аналогично, другие модули также могут использоваться независимо друг от друга, за исключением модуля «Система», который используется всеми модулями.
Языковые привязки
[ редактировать ]SFML написан на C++ и предоставляет интерфейс C++ (он также предоставляет интерфейс C через официальную привязку CSFML). Существует несколько языковых привязок , которые позволяют использовать SFML на других языках программирования. [3]
В этой таблице перечислены поддерживаемые привязки для SFML по состоянию на 2024 г. [update].
Имя | Язык | Поддерживаемая версия |
---|
1 Официальные привязки
Неофициальные дополнения
[ редактировать ]SFML предоставляет базовые функции, на основе которых более высокого уровня может быть построено программное обеспечение . Существуют дополнительные библиотеки, которые обеспечивают дополнительную поддержку графических пользовательских интерфейсов (GUI), [8] [9] 2D освещение , [10] системы частиц и анимация , [11] видео воспроизведение [12] и тайловые карты . [13]
Прием и усыновление
[ редактировать ]SFML в основном используется разработчиками игр-любителей, небольшими независимыми разработчиками видеоигр и начинающими компаниями, состоящими максимум из нескольких разработчиков. Поскольку SFML не требует написания большого количества кода, его также взяли на вооружение многие участники Ludum Dare . [14] По сравнению со старыми библиотеками, такими как Simple DirectMedia Layer (SDL) и Allegro , база пользователей SFML относительно невелика, но растет. По состоянию на 20 июня 2023 г. [update], его на GitHub репозиторий программного обеспечения отметили 8774 пользователя. [15]
SFML использовался при обучении в университетах и в научных проектах. [16] [17] [18] [19] [20] [21]
Примеры использования видеоигр
[ редактировать ]- Атомный зомби-крушитель , [22] Стратегическая игра в реальном времени .
- Выездная команда , [23] игра- симулятор Интерактивная .
- Честер , [24] игра- головоломка .
- Космосролл , [25] бесплатная космическая стрелялка с открытым исходным кодом .
- Создавать , [26] модифицируемая 2D- игра- песочница .
- Зачарованный лес [27]
- Экстремальный гонщик в смокинге , [28] бесплатная арктическая гоночная игра с открытым исходным кодом с участием Tux (с использованием SFML, начиная с версии 0.7).
- Святой Дух , [29] 3D изометрическая рубящая игра.
- Надеяться , [30] приключенческая игра типа «укажи и щелкни» (например, Myst ).
- Я могу трансформироваться , [31] 2D-платформер для Android.
- ХранительРЛ , [32] Симулятор подземелий с элементами рогалика и ролевой игры.
- Крониакс , [33] минималистичный сайд-скроллер и первая SFML-игра для Android.
- Предельная теория , [34] бесконечная процедурная космическая игра .
- МАРС , [35] многопользовательская игра-стрелялка.
- Лунный человек , [36] игра-песочница с исследованием пиксельной графики.
- Открытый шестиугольник , [37] бесплатный Super Hexagon с открытым исходным кодом. клон
- Овидий Сова , [38] головоломка платформер- .
- Пионеры , [39] пошаговая исследовательская игра с некоторыми элементами ролевой игры. [27]
- Postmortem: надо умереть , [40] сюжетно- приключенческая игра .
- Проект Черное Солнце , [41] ретро 2D видеоигра с боковой прокруткой .
- ТакВарс , [42] ролевая игра-головоломка, в которой гномы сражаются с гоблинами.
- Герцог , [43] экшн-платформер.
- Расстрел Исаака , [44] вертикальный шутер.
- Блуждая , [45] экшн . в жанре ролевой платформер
- Злокс , [46] 2D-платформер.
Дополнительные примеры игр, использующих SFML, перечислены на IndieDB . [47]
Другое использование программного обеспечения
[ редактировать ]- Аквила , [48] (DSP) с открытым исходным кодом для C++. цифровой обработки сигналов Библиотека
- Выдра , [49] 2D- фреймворк C#, построенный на SFML 2.
- GDevelop , [50] программное обеспечение для создания игр с открытым исходным кодом.
- Погружной двигатель , [51] инструмент для визуализации детальных ландшафтов и архитектуры.
- есть::Двигатель , [52] Игровой движок 2D C++ для Android и ПК.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Лицензия» .
- ^ «GitHub — SFML/SFML: простая и быстрая мультимедийная библиотека» . Гитхаб . 14 декабря 2021 г.
- ^ Jump up to: а б «Привязки (SFML/Загрузка)» . СФМЛ . Проверено 13 ноября 2014 г.
- ^ «Журнал изменений (SFML/Разработка)» . Проверено 18 декабря 2014 г.
- ^ Гомила, Лоран. «SFML 2.1 (SFML/Загрузить)» . СФМЛ . Проверено 9 августа 2014 г.
- ^ «SFML/Config.cmake по адресу f24ca9a84012531cf886f72354c1f88341dd7ac7 · SFML/SFML» . Гитхаб . Проверено 13 ноября 2014 г.
- ^ «Выпуск SFML 2.6.1 · SFML/SFML» . Гитхаб . Проверено 23 декабря 2023 г.
- ^ «СФГУИ» . СФГУИ . Проверено 13 ноября 2014 г.
- ^ «ТГУИ» . ТГУИ . Проверено 13 ноября 2014 г.
- ^ "ховаттерц/свет" . Гитхаб . Проверено 13 ноября 2014 г.
- ^ «Бромеон::Тор» . Ян Халлер . Проверено 13 ноября 2014 г.
- ^ "sfeMovie" . sfeMovie . Проверено 13 ноября 2014 г.
- ^ «Плиточный загрузчик карт SFML | SourceForge.net» . СоурсФордж . Проверено 13 ноября 2014 г.
- ^ «sfml | Раздача игр» . Дайте игру . Проверено 13 ноября 2014 г.
- ^ «СФМЛ/СФМЛ» . Гитхаб . 10 мая 2018 года . Проверено 10 мая 2018 г.
- ^ «Настройка SFML» . Университет Мэри Вашингтон . Проверено 13 ноября 2014 г.
- ^ «Центр Ренсселера по открытому программному обеспечению» . Политехнический институт Ренсселера . Проверено 13 ноября 2014 г.
- ^ «CSCI 261 — Концепции программирования» . Колорадская горная школа . Проверено 13 ноября 2014 г.
- ^ «COMPSCI 464: Компьютерная графика» . Государственный университет Бойсе . Проверено 13 ноября 2014 г.
- ^ «Группа по привлечению компьютеров | Comp4spr14 / PS5b» . Массачусетский университет Лоуэлла . Проверено 13 ноября 2014 г.
- ^ «Домашняя страница Тянью Чэна» . Техасский университет в Остине . Проверено 13 ноября 2014 г.
- ^ Чанг, Брендон (20 августа 2011 г.). «Atom Zombie Tech «Новости Blendo» . Игры Блендо . Проверено 9 августа 2014 г.
- ^ «Команда гостей — научно-фантастическая интерактивная фантастика» . 7 июля 2016 года . Проверено 1 апреля 2020 г.
- ^ «Чесстер [игра-головоломка SFML]» . 18 октября 2011 года . Проверено 13 ноября 2014 г.
- ^ «cosmoscroll — игра-стрелялка на основе SFML. — Github» . Гитхаб . Проверено 19 июля 2015 г.
- ^ «Обновление разработки — Освещение и сохранение | Осадные игры» . Осадные игры. 3 апреля 2012 года . Проверено 13 ноября 2014 г.
- ^ Jump up to: а б «Сокровища пиратов и зачарованный лес» . Проверено 13 ноября 2014 г.
- ^ «НОВОСТИ для гонщиков Extreme Tux Racer» . Редакция 698. 27 августа 2017 г. Проверено 12 сентября 2017 г.
- ^ «Игра HolySpirit для Windows | Десура» . Десура . 13 ноября 2014 года . Проверено 19 июля 2015 г.
- ^ «Часто задаваемые вопросы — блог разработчиков Hope» . 11 августа 2015 г. Проверено 11 августа 2015 г.
- ^ «Я могу трансформироваться» . Проверено 9 ноября 2018 г.
- ^ "miki151/keeperrl" . Гитхаб . Проверено 11 января 2015 г.
- ^ «Крониакс доступен в магазине Play!» . Проверено 15 ноября 2014 г.
- ^ «Форумы теории пределов • Просмотр темы - SFML::Texturing» . Проверено 13 ноября 2014 г.
- ^ «МАРС — смешной шутер — Выпуск исправления ошибок MARS 0.7.2» . МАРС 26 апреля 2011 г. Проверено 13 ноября 2014 г.
- ^ «SFML 2.0 | BP | Я делаю видеоигры» . Бен Портер . Проверено 13 ноября 2014 г.
- ^ «Открытый шестиугольник – увлекательная динамичная игра» . Проверено 13 ноября 2014 г.
- ^ «ЛЗР Сова Овидий» . Лиран З. Рафаэли . Проверено 13 ноября 2014 г.
- ^ «Заметки о развитии Эйгена» . Эйген Ленк . Проверено 13 ноября 2014 г.
- ^ «Инструменты и ресурсы для создания инди-игры | Koobazaur's Domain» . Якуб Каштальски. 20 апреля 2013 г. Проверено 13 ноября 2014 г.
- ^ «Доступна версия 1.0.2. Новости ПК и Linux — Project Black Sun Game — Indie DB» . Инди БД . 20 декабря 2011 года . Проверено 13 ноября 2014 г.
- ^ «Домашняя страница ролевой игры-головоломки TacWars» . Фейсбук .
- ^ «Герцог» . 8 июня 2009 года . Проверено 13 ноября 2014 г.
- ^ «Филипп Офферманн » Расстрел Исаака» . Филипп Офферман . Проверено 13 ноября 2014 г.
- ^ «Ваганте | Инструменты торговли» . Игра Ваганте. 3 декабря 2013 года. Архивировано из оригинала 13 ноября 2014 года . Проверено 13 ноября 2014 г.
- ^ «Zloxx II — Экшен Jump'n'Run» . Проверено 15 ноября 2014 г.
- ^ SFML/игры
- ^ «Скачать | Aquila — C++ библиотеку для цифровой обработки сигналов» . Збигнев Сичарж . Проверено 13 ноября 2014 г.
- ^ «Otter — 2D-фреймворк C#, созданный на основе SFML 2» . Кайл Пулвер . Проверено 13 ноября 2014 г.
- ^ «Личный сайт Флориана Риваля» . Флориан Ривал . Проверено 14 ноября 2014 г.
- ^ «Хорошие новости для ImmersionEngine» . Фейсбук . Проверено 12 февраля 2015 г.
- ^ "is::Engine — игровой движок 2D C++ для Android и ПК" . Это Дауда . Проверено 19 февраля 2020 г.
Дальнейшее чтение
[ редактировать ]- Ян Халлер, Хенрик Фогелиус Ханссон, Артур Морейра: Разработка игр 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
Внешние ссылки
[ редактировать ]- Интерфейсы прикладного программирования
- Аудио библиотеки
- библиотеки С++
- Кроссплатформенное программное обеспечение
- Графические библиотеки
- API-интерфейсы Linux
- API-интерфейсы MacOS
- Программное обеспечение, использующее лицензию zlib
- Программное обеспечение для разработки видеоигр для Linux
- API-интерфейсы Windows