Простая и быстрая мультимедийная библиотека
Оригинальный автор(ы) | Лоран Гомила и другие. |
---|---|
Разработчик(и) | Команда СФМЛ |
Первоначальный выпуск | 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 г.
- ^ Перейти обратно: а б «Привязки (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 г.
- ^ Перейти обратно: а б «Сокровища пиратов и зачарованный лес» . Проверено 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 Store!» . Проверено 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