Здравствуйте, гость ( Авторизация | Регистрация )
Перед публикацией рекомендуем ознакомиться с правилами раздела
09.08.2013, 20:34
Сообщение
#1
|
|
![]() Доктор Игровых Наук Репутация: 544
Группа: Участник Сообщений: 3657 Награды: 9 Регистрация: 12.07.2007 |
Периодически читаю и ищу "всяко разное" на просторах и тут наткнулся на просто уму непостижимые библиотеки.
Simple and Fast Multimedia Library (Простая и быстрая мультимедиа библиотека). Текущая версия: 2.1 По сути является огромным и реально простейшим фреймворком над разносторонними(в т.ч. бесплатными) библиотеками(OAL, OGL ...). Преимущества: 1)Имеет лицензию zlib/png license (Предоставляется как есть, можно использовать в коммерческих целях с указанием использования библиотеки). 2)Полностью кроссплатформена(Win, MacOs X, Linux), вскоре ожидается порт на Android и IOS. 3)Полностью открытый исходный код. 4)Библиотеки как для х64 так и х86(тяжело поверить но это реально так и все сделано аккуратно), также поддержка разных компиляторов. 5)Официально поддерживает языки C и .Net, благодаря сообществу есть порты на Java, Ruby, Python, Go и множество других яп. 6)Библиотеки для работы: - с сетью. HTTP|FTP|tcp\ip|udp|socks ... - со звуком. Воспроизведение и т.п.| Запись | Работа со звуком в 3D | VoIP ... - с графикой. Спрайты | текст | примитивы | лоадеры графики ... - с системой. Таймеры | стримы(Streams) | потоки(Threads) | строки(поддерживает кирилицу =) ) | векторы ... - с окнами. Окна на основе OpenGL(есть поточный рендер). Клава,мышь,джостик | эвенты ... 7)Все библиотеки независимы друг от друга. Т.е. можно взять только библиотеку звука или\и графики и т.п. Можно в совокупности всего написать игру. 8)Все реально проще некуда, отличная документация, уйма примеров. 9)Минимальный размер в 9 мегов с примерами, исходниками,документацией, скомпиленными либами и dll. Недостатки пока не нашел. Личное ощущение что нашел клад, sdl нервно курит в сторонке. Приведу пару примеров: Контекст OpenGL #include <SFML/OpenGL.hpp> ... sf::ContextSettings settings; settings.depthBits = 24; settings.stencilBits = 8; settings.antialiasingLevel = 4; settings.majorVersion = 3; //Мажор версия OGL settings.minorVersion = 0; //Минор версия OGL т.е. используем OpenGL 3.0 . Те кто пробовал инициализировать oGL от 2.0 и выше поймут какой это геморой sf::Window window(sf::VideoMode(800, 600), "OpenGL", sf::Style::Default, settings); Гениально и просто. Потоки #include <SFML/System.hpp> ... sf::Thread thread(&func); Создаем поток // Запуск thread.launch(); Звук #include <SFML/Audio.hpp> int main() { sf::SoundBuffer buffer; if (!buffer.loadFromFile("sound.wav")) return -1; sf::Sound sound; sound.setBuffer(buffer); sound.play(); return 0; } Это лишь минимум примеров, но абсолютно любой модуль также прост. На примере звука точно также работают текстуры и шейдеры, т.е. весь апи однообразен. Жду вашего мнения, а сам потихоньку отхожу от шока и читаю api PS: Существует книга по разработке игр на этих либах, гуглится в бухте пиратов по "SFML Game Development" Сообщение отредактировал jamakasi - 09.08.2013, 20:55 |
|
 
|
|
|
|
|
jamakasi SFML библиотеки для кодеров 09.08.2013, 20:34
nuan Ммм... Вкусно ) нужно реально сделать раздел под п... 09.08.2013, 22:16
jamakasi Цитата(nuan @ 09.08.2013, 23:16) Ммм... В... 09.08.2013, 22:21
nuan да именно, разделить асм там, сишники , нет , базы... 09.08.2013, 22:25
jamakasi nuan, разделять точно не надо т.к. на форуме не та... 09.08.2013, 22:30
nuan Но net то и asp.net и сильверлайт )) это к вэб ) 09.08.2013, 22:36
VIGUR Когда-то серьезно задумывался об использовании SFM... 09.08.2013, 23:34
nuan VIGUR я плюсы , как страшный сон пытаюсь забыть ))... 09.08.2013, 23:40
jamakasi Пара игр разрабатываемых на основе SFML которые по... 10.08.2013, 01:20
refuse друзья! не увлекайтесь фреймворками и библиоте... 10.08.2013, 14:19
jamakasi Цитатаrefuse,друзья! не увлекайтесь фреймворка... 11.08.2013, 14:51
refuse Цитата(jamakasi @ 11.08.2013, 15:51) Для ... 11.08.2013, 15:01
jamakasi refuse, например захотелось сделать просмотрщик мо... 11.08.2013, 17:42
refuse Цитата(jamakasi @ 11.08.2013, 18:42) напр... 11.08.2013, 18:09
nuan refuse а зачем заморачиваться ) если можно быстро ... 11.08.2013, 18:14
refuse Цитата(nuan @ 11.08.2013, 19:14) refuse а... 11.08.2013, 18:35![]() ![]() |
| Текстовая версия | Сейчас: 10.03.2026, 21:37 |