Состоялся релиз библиотеки SDL 2.0.20 (Simple DirectMedia Layer), нацеленной на упрощение написания игр и мультимедийных приложений. Библиотека SDL предоставляет такие средства как аппаратно-ускоренный вывод 2D- и 3D-графики, обработка ввода, воспроизведение звука, вывод 3D через OpenGL/OpenGL ES/Vulkan и множество иных сопутствующих операций. Библиотека написана на языке Си и распространяется под лицензией zlib. Для использования возможностей SDL в проектах на различных языках программирования предоставляются биндинги. Код библиотеки распространяется под лицензией Zlib...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=56493
Есть ли аналог (или обёртка) на C++?
SDL is written in C, works natively with C++, and there are bindings available for several other languages, including C# and Python.
Это не ответ на поставленный вопрос. Ручной сишный пердолинг с освобождением каждого ресурса - это не C++ ни в каком виде.
Оборачивай в unique_ptr.
SFML (это аналог SDL) изначально на C++, например.
Конечно!
Например, https://github.com/libSDL2pp
Нету там официальной обертки с классами. Она была бы очень удобна, но нет
Т.е ты без нужды и всяких на то причин вместо сей собрался писать на крестах ? "программисты" обверточники..
> Т.е ты без нужды и всяких на то причин вместо сей собрался
> писать на крестах ? "программисты" обверточники..Откуда тебе знать мои нужны и причины, Аноним?
Но если тебе интересно, то моя причина в том, что я получаю деньги за разработку на С++, а нужда в том, что мне нужно визуализировать трёхмерную систему, чтобы отладить решение диффура.
Я вот хотел в сторону VTK посмотреть, но вообще говоря, хороший обзор библиотек занимает время, а тут как раз тема на Опеннете подвернулась.
Github + sdl Windows engine я смотрел, там и lua биндинги есть.
Супер библиотека!!!
Для новичка трудновато будет.
Книга Shaun Mitchell "SDL Game Development". На английском, но написана простым языком и в стиле step by step. Для старта самое оно.Вполне читаемо с переводчиком.
Да, читаемо. Только автор не умеет писать программы на С++, там идет неправильная и опасная работа с памятью (В отзывах на книгу на Амазоне это, кстати, отмечают).
Кроме того, совсем не используются паттерны проектирования придуманные специально для игр.
(См. книгу Game Programming Patterns https://gameprogrammingpatterns.com/contents.html)Т.е. это ОК книга если хочется сделать 2D платформер на Си/С++ с нуля. Но расширить эту игру или переделать будет очень сложно. Нужно будет реструктурировать и переписывать весь код.
Если хочется новичку быстро сделать игру с правильными абстракциями и инструментами, переносимым опытом, то лучше начать с Godot.
Да ладно трудноватаЭто библиотека для упрощения и так упрощенных обверток.
Упрощённые обёртки не кроссплатформенные. Но эта обёртка оборачивает обёртки обернувшие обёртываемое не обёрнутое, не обёртываемое иногда представляет значительный интерес тоже. Вот для гейпадов вполне. Особенно для пользователя, потому что сабж настраивается в достаточно широких пределах.
Даже так?
http://lazyfoo.net/tutorials/SDL/index.php
SDL+ffmpeg - это два мультимедиа-монстра )
SDL это аналог DirectX. Можно возразить, что аналог DirectX это OpenGL. Да, но нет. DirectX, это ещë и работа с устройствами ввода, со звуком, вот это вот всë. Когда Loki Software начали делать порты AAA-игр на Linux, они заменили Direct3D на OpenGL, а замены всему остальному не было. На "голых иксах" писать приложения сложновато, и ладно ещë WinAPI в X11 API, а вот DirectDraw в WinAPI уже проблема. Так и появился SDL.Loki Software использовали SDL в каждом своей порте. Когда компании не стало, SDL продолжил жизнь. В репозиториях Linux-дистрибутивов полно игр с открытым исходным кодом, таких как Neverball, X-Moto, SuperTux, PlanetPenguin Racer (бывший TuxRacer), AssaultCube, Nexuiz, freeciv, openarena... Все они используют SDL.
Коммерческие релизы игр 00-х, появившиеся после закрытия Loki Software, тоже все, как одна, используют SDL. Neverwinter Nights 1 и 2, Unreal Tournament 2003 и 2004, Sacred, Majesty, Cold War, Penumbra, Amnesia... Только Quake III Arena и Doom III не использует, и угадайте что сделали фанаты сразу, как только код игры открыли? Правильно - "прикрутили" SDL и OpenAL! Также SDL не используют (но используют OpenAL) игры и бенчмарки от Unigine, такие как Sanctuary, Tropics, Heaven, Valley, Superposition и Oil Rush.
Все эмуляторв используют SDL в версиях для Linux, начиная с Fceux и Dosbox и заканчивая RPCS3 и Spine. Блин, да проще перечислить то, что SDL не использует!
В общем, клëвая штука, я рад, что она есть
С Gl117 все еще совместим?
А что там с 3D API от icculus'а? Что-нибудь слышно?