Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Простая и быстрая мультимедийная библиотека ( SFML ) - это кроссплатформенная библиотека для разработки программного обеспечения, предназначенная для обеспечения простого интерфейса прикладного программирования (API) для различных мультимедийных компонентов в компьютерах. Он написан на C ++ с привязками, доступными для C , Crystal , D , Euphoria , Go , Java , Julia , .NET , Nim , OCaml , Python , Ruby и Rust.. [3] Экспериментальные мобильные порты стали доступны для Android и iOS с выпуском SFML 2.2. [4]

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 год .

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)

Ссылки [ править ]

  1. ^ "Лицензия" .
  2. ^ «GitHub - SFML / SFML: простая и быстрая мультимедийная библиотека» .
  3. ^ a b «Привязки (SFML / Загрузить)» . SFML . Проверено 13 ноября 2014 .
  4. ^ «Список изменений (SFML / Разработка)» . Проверено 18 декабря 2014 .
  5. ^ Гомила Лоран. «SFML 2.1 (SFML / Загрузить)» . SFML . Проверено 9 августа 2014 .
  6. ^ "SFML / Config.cmake в f24ca9a84012531cf886f72354c1f88341dd7ac7 · SFML / SFML" . GitHub . Проверено 13 ноября 2014 .
  7. ^ "SFGUI" . SFGUI . Проверено 13 ноября 2014 .
  8. ^ "TGUI" . TGUI . Проверено 13 ноября 2014 .
  9. ^ "ховаттерц / свет" . GitHub . Проверено 13 ноября 2014 .
  10. ^ "Бромеон :: Тор" . Ян Галлер . Проверено 13 ноября 2014 .
  11. ^ "sfeMovie" . sfeMovie . Проверено 13 ноября 2014 .
  12. ^ "Tiled SFML Map Loader | SourceForge.net" . SourceForge . Проверено 13 ноября 2014 .
  13. ^ "sfml | Ludum Dare" . Ludum Dare . Проверено 13 ноября 2014 .
  14. ^ "SFML / SFML" . GitHub . 10 мая 2018 . Проверено 10 мая 2018 .
  15. ^ "Настройка SFML" . Университет Мэри Вашингтон . Проверено 13 ноября 2014 .
  16. ^ «Центр Ренсселера для программного обеспечения с открытым исходным кодом» . Политехнический институт Ренсселера . Проверено 13 ноября 2014 .
  17. ^ «CSCI 261 - Концепции программирования» . Колорадская горная школа . Проверено 13 ноября 2014 .
  18. ^ "COMPSCI 464: Компьютерная графика" . Государственный университет Бойсе . Проверено 13 ноября 2014 .
  19. ^ "Привлечение вычислительной группы | Comp4spr14 / PS5b" . Массачусетский университет Лоуэлла . Проверено 13 ноября 2014 .
  20. ^ "Домашняя страница Тянью Чэна" . Техасский университет в Остине . Проверено 13 ноября 2014 .
  21. Чанг, Брендон (20 августа 2011 г.). «Atom Zombie Tech« Новости Blendo » . Blendo Games . Проверено 9 августа 2014 .
  22. ^ "The Away Team - Научно-фантастическая интерактивная фантастика" . 7 июля 2016 . Проверено 1 апреля 2020 года .
  23. ^ "Шахматы [игра-головоломка SFML]" . 18 октября 2011 . Проверено 13 ноября 2014 .
  24. ^ "cosmoscroll - стрелялка на основе SFML. - Github" . GitHub . Проверено 19 июля 2015 года .
  25. ^ «Обновление разработки - Освещение и сохранение | Осадные игры» . Осадные игры. 3 апреля 2012 . Проверено 13 ноября 2014 .
  26. ^ a b «Пиратские сокровища и зачарованный лес» . Проверено 13 ноября 2014 .
  27. ^ "НОВОСТИ для Extreme Tux Racer" . Редакция 698. 27.08.2017 . Проверено 12 сентября 2017 года .
  28. ^ "HolySpirit Windows game | Desura" . Десура . 13 ноября 2014 . Проверено 19 июля 2015 года .
  29. ^ «FAQ - Блог разработчиков Hope» . 2015-08-11 . Дата обращения 11 августа 2015 .
  30. ^ «Я могу трансформироваться» . Проверено 9 ноября 2018 .
  31. ^ "miki151 / keeperrl" . Проверено 11 января 2015 .
  32. ^ "Kroniax доступен в Play Store!" . Проверено 15 ноября 2014 года .
  33. ^ «Форумы по теории пределов • Просмотр темы - SFML :: Текстурирование» . Проверено 13 ноября 2014 .
  34. ^ "MARS - нелепый шутер - MARS 0.7.2 Bugfix Release" . MARS 26 апреля 2011 . Проверено 13 ноября 2014 .
  35. ^ "SFML 2.0 | BP | Я делаю видеоигры" . Бен Портер . Проверено 13 ноября 2014 .
  36. ^ «Open Hexagon - увлекательная быстро развивающаяся игра» . Проверено 13 ноября 2014 .
  37. ^ "LZR Ovid the Owl" . Лиран З. Рафаэли . Проверено 13 ноября 2014 .
  38. ^ «Заметки о развитии Эйгена» . Эйген Ленк . Проверено 13 ноября 2014 .
  39. ^ "Инструменты и ресурсы для создания инди-игры | Домен Koobazaur" . Якуб Каштальский. 2013-04-20 . Проверено 13 ноября 2014 .
  40. ^ "Версия 1.0.2 доступна из новостей ПК и Linux - Project Black Sun Game - Indie DB" . Инди DB . 20 декабря 2011 . Проверено 13 ноября 2014 .
  41. ^ "Домашняя страница головоломки TacWars RPG" .
  42. ^ "Герцог" . 8 июня 2009 . Проверено 13 ноября 2014 .
  43. ^ "Филипп Офферман" Расстрел Исаака " . Филипп Офферман . Проверено 13 ноября 2014 .
  44. ^ "Ваганте | Торговые инструменты" . Игра Ваганте. 3 декабря 2013 г. Архивировано из оригинала 13 ноября 2014 года . Проверено 13 ноября 2014 .
  45. ^ "Zloxx II - действие Jump'n'Run" . Проверено 15 ноября 2014 года .
  46. ^ sfml / игры
  47. ^ "Скачать | Aquila - библиотека C ++ для цифровой обработки сигналов" . Збигнев Сициарц . Проверено 13 ноября 2014 .
  48. ^ «Otter - 2D C # Framework, построенный на SFML 2» . Кайл Пулвер . Проверено 13 ноября 2014 .
  49. ^ "Персональный сайт Флориана Ривала" . Флориан Соперник . Проверено 14 ноября 2014 года .
  50. ^ "Хорошие новости для ImmersionEngine" . Facebook . Проверено 12 февраля 2015 года .
  51. ^ "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

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Простая и быстрая мультимедийная библиотека на GitHub