| 1.1, Аноним (1), 09:35, 01/01/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Неплохой релиз. Жаль, что поддержку png впихнули, но это связано с поддержкой работы с иконками в трее, так что ладно
| | |
| |
| |
| 3.13, Аноним (13), 14:18, 01/01/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Does SDL support PCX, JPG, PNG, etc...
The BMP and WAV file loaders included with SDL are simple examples demonstrating how to load an image and sound format. You should be able to write your own reader for any format. The main library is supposed to be fast and small, and so does not include any additional loaders
| | |
| |
| 4.14, Аноним (13), 14:22, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>>simple examples
sdl_wave.c на 2000 строк
прикольный "простой" пример.
| | |
| |
| 5.51, Аноним (51), 02:41, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
> sdl_wave.c на 2000 строк
> прикольный "простой" пример.
Ок, а за сколько строк С кода ты напишешь загрузчик WAV?
| | |
| |
| |
| 7.112, Аноним (-), 19:51, 03/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> alutLoadWAVFile(...);
И где тут загрузчик? А, мусор замели под ковер - перенеся его в воооооон ту мегалибу? Так с сабжем тоже так можно. И даже можно написать обертку и потом тоже пафосно вызвать 1 функцию.
А так вы еще SndPlaySound() или как там его из винапи вспомните. Да, это просто как дрова. И ... в таком виде совершенно не годится для игродела и проч. В лучшем случае эффект в дурацкой програмке проиграть. Как только применения хоть капельку продвинутее - такая апя жесточайше пролетает.
| | |
|
|
|
|
|
| 2.5, Аноним (5), 11:57, 01/01/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Сильно жаль? Прям вот очень? Ок, держи нас в курсе. А то формат-то офигенный, а ты так прям весь расстроился.
| | |
| |
| 3.11, Аноним (1), 13:52, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
да, ведь png как и bmp и wav никакого отношения к прослойке для работы с оборудованием не имеет.
| | |
| |
| 4.52, Аноним (51), 02:42, 02/01/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> да, ведь png как и bmp и wav никакого отношения к прослойке для работы с оборудованием не имеет.
Они тебя как-то трогают, или что? В чем конкретно проблема?
| | |
| |
| |
| 6.78, Аноним (51), 16:37, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> bloated же. тебе нравится раздутый софт?
Bloated - это ядро Линукс, в котором каждые несколько месяцев корпораты заливают сотни тысяч строк. А несколько десятков килобайт от кода загрузки WAV меня вообще не колышат. Почему у тебя иначе?
| | |
| |
| 7.98, Аноним (-), 23:01, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Bloated - это ядро Линукс, в котором каждые несколько месяцев корпораты заливают
> сотни тысяч строк. А несколько десятков килобайт от кода загрузки WAV
> меня вообще не колышат. Почему у тебя иначе?
Тем не менее linux запускают даже на каких-то совсем м усорных мыльницах типа 4/32 (мега, flash/ram). И ничего - лезет как-то. А остальное там вообще в пролете как мухи в самолете. Вот тебе и bloated.
| | |
|
|
| 5.64, Аноним (63), 12:03, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
У png постоянно проблемы с дырами, через которые взламывали системы, в т.ч. PSP ломали.
| | |
| |
| 6.80, Аноним (51), 16:40, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
Как тебя взломают через загрузчик PNG из SDL, если ты его не используешь? Я же спрашивал "они ТЕБЯ как-то трогают, или что"?
| | |
|
|
|
|
| 2.25, Аноним (25), 18:28, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
Это мультимедийная библиотека, там вообще должны быть все видео, аудио и фото форматы, по идее
| | |
| |
| 3.31, Аноним (-), 20:06, 01/01/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Это мультимедийная библиотека, там вообще должны быть все видео, аудио и
> фото форматы, по идее
Ты же лопнешь, деточка! Ffmpeg когда-нибудь видел? И как тебе оно? А теперь представь себе интеграцию оного - в libsdl! Он сразу раз в пять распухнет. В общем кому надо - берет ffmpeg отдельно, сам.
А SDL немного другой мандат - simple directmedia layer. Т.е. апи абстракции вывода аудио, графония и обработки ввода для игр, плееров и проч. Чтою не париться особенностями каждой платформы в вооооон той игре допустим.
| | |
| |
| |
| 5.99, Аноним (99), 23:12, 02/01/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> Если точнее, SDL - это ступенька инициализации перед OpenGL.
А вот отучаемся говорить за всех.
1) Есть 2D программы которым GL нахрен не упал. Да даже игры - есть. Вот что pixel art типа Wesnoth вообще с GL должен хотеть делать вообще?
2) GL так то устаревшее апи, нынче в моде Vulkan.
А сам SDL как таковой движками и рендером 3D не занимается.
| | |
| |
| 6.104, Аноним (51), 03:31, 03/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Вот что pixel art типа Wesnoth вообще с GL должен хотеть делать вообще?
Ускорять графику.
| | |
| |
| 7.113, Аноним (-), 19:59, 03/01/2026 [^] [^^] [^^^] [ответить] | +/– | Что можно ускорять в куче пикселей так по крупному Это просто вывод битмапы н... большой текст свёрнут, показать | | |
| |
| |
| |
| 10.118, Аноним (51), 01:11, 04/01/2026 [^] [^^] [^^^] [ответить] | +/– | Я уже написал вывод и композитинг битмапов Ну, и Это как-то отменяет тот факт... большой текст свёрнут, показать | | |
| |
| 11.137, Аноним (137), 20:43, 04/01/2026 [^] [^^] [^^^] [ответить] | –1 +/– | Оно и так шустро работает - с лохматых времен Если апя вывода графония не совсе... большой текст свёрнут, показать | | |
|
|
|
|
|
|
|
|
| 3.66, Аноним (63), 12:06, 02/01/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> там вообще должны быть все видео, аудио и фото форматы
А давайте ещё Qt туда же статикой, а то слишком компактная либа, особенно для мобилок.
| | |
|
| 2.29, Аноним (29), 19:44, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Жаль, что поддержку png впихнули, но это связано с поддержкой работы
> с иконками в трее, так что ладно
Его и так почти все перли - ибо популярный формат для ассетов и проч. Только приходилось добавочной SDLной либой-довеском его вкрячивать. И png уж явно популярнее BMP всяко. Хоть у них обоих и есть свои дурацкости.
| | |
|
| 1.3, Мемоним (?), 10:58, 01/01/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– | |
> SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEA
Прям напомнило ОченьДлиннаяФункцияНепонятногоНазначенияИмениБорисаНуралиева()
| | |
| |
| |
| |
| 4.24, Аноним (7), 18:04, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
//github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_gpu.h
строка 2354
#define SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN "SDL.gpu.device.create.vulkan.requirehardwareacceleration"
что-то изменилось?
| | |
| |
| 5.72, Аноним (63), 14:16, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> SDL.gpu.device.create.vulkan.requirehardwareacceleration
Нелогично же. Надо так: ROOT.factory.init.module.singleton.system.libraries.SDL.gpu.device.create.vulkan.require.acceleration.hardware
| | |
|
|
|
|
| 1.4, Аноним (4), 11:36, 01/01/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
В некоторых прогах до сих пор сидят на 1.0 из за косяков 2.0, а тут 3.0. Я на нем еще ничего напсианного не видно.
| | |
| |
| 2.6, Аноним (6), 12:56, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
Это нормально, только бы не дропали старые версии, переписывать на новое может оказаться некому.
| | |
| 2.36, Аноним (36), 20:46, 01/01/2026 [^] [^^] [^^^] [ответить]
| +4 +/– | |
> В некоторых прогах до сих пор сидят на 1.0
А список этих прог можно в студию, или просто васян не осилил новую версию?
| | |
| |
| 3.44, Аноним (51), 21:13, 01/01/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> А список этих прог можно в студию, или просто васян не осилил новую версию?
Это те проги, на которые васяны забили еще в нулевых. Но виновата SDL2, ага.
| | |
| |
| 4.47, _kp (ok), 23:32, 01/01/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если прога написана под какую то из версий sdl, и всё устраивает, сама прога работает, да и автор жив здоров, то только ради новой версии её не часто не переписывают. Могут быть более важные или интересные дела.
Знаю, что если лень ковыряться что переломали в API вручную, перенос с помощью ИИ с одной версии SDL на другую делается за несколько секунд и первой же попытки. Но, бывает что не требуется ничего переписывать. Да и что добавится, например при портированиии с 1 на вторую версию? В основном, из того что заметно, мыльное масштабирование добавится.
| | |
|
|
| 2.48, Ilya Indigo (ok), 00:16, 02/01/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Например, в openSUSE Tumbleweed уже давно выкинyли SDL1 и SDL2 и используют только SDL3 с пакетами совместимости SDL1 и SDL2.
Все игры/эмуляторы/соурспорты на SDL1 и SDL2 работают с SDL3 даже НЕ понимая этого, и для SDL1-приложений появляется обработка мультимедийных клавиш в полноэкранном режиме, чего в SDL1 не было!
На чистом SDL3 работает, например dolphin-emu (эмулятор Nintendo GameCube/Wii) и прекрасно работает.
> В некоторых прогах до сих пор сидят на 1.0 из за косяков 2.0
> из за косяков 2.0
Вы эту чушь сами только что придумали?
| | |
| |
| 3.55, Аноним (-), 06:51, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Все игры/эмуляторы/соурспорты на SDL1 и SDL2 работают с SDL3 даже НЕ понимая
> этого,
Вот только у SDL1 пайплайн 2D вывода был намного быстрее если у вас GPU нету или он дрейний. А с SDL2 или 3 в подобной ситуации будет тот еще якорь.
И все б ничего но при желании делать вот именно СВОЮ SDL программу - это те еще грабли. Потому что юзеры запускают сие на чем попало от малины до древнего интел интеграта и потом жутко делают мозг тем что тормозит. И вот тут Valve таки не совсем прав, пожалуй.
| | |
| 3.75, mos (??), 14:54, 02/01/2026 [^] [^^] [^^^] [ответить]
| –2 +/– |
Кто переходит?
Все кастомные опен сурсные движки сидят на SDL2.
А SDL3 сырой мусор на том же Android с кучей регрессий.
| | |
| |
| |
| 5.91, смотритель за котами (?), 18:37, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
Насчёт кастомных движков - все так.
Это никому не нужный мусор.
Все кому надо писать игры - пишут их или на unity или unreal engine.
На крайний случай - годот.
А этот катомный мусор пишется десятилетиями и он никому не нужен.
Зато сколько у них гонора.
Например у того же openmw, разработчики которого считают тот же unreal engine и unity мусором.
Но на деле никому не нужный мусор - только их движок.
| | |
| |
| 6.103, Аноним (-), 00:50, 03/01/2026 [^] [^^] [^^^] [ответить]
| –3 +/– | |
> Это никому не нужный мусор.
Мусор это инди хлам на {годоте, юнити и анрыле}. Через который все забывают за пару лет после его выхода.
А в какой-нибудь Xonotic мы шпилим уже N лет с его кастомным движком. И дальше продолжим. Да и openmw на отлично переживет 99% инди барахлишка, на это можно ставки принимать.
| | |
|
|
|
|
|
| 1.16, рассерженый фанат sdl (?), 14:36, 01/01/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL/Direct3D/Metal/Vulkan
Ну и что поддержка png, bmp, wav (включая ms-adpcm и ima-adpcm) делает в данной библиотеке, когда для этих целей существуют sdl_image и sdl_mixer?
| | |
| |
| |
| |
| 4.30, Аноним (-), 19:59, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> а еще эти audiostream, которые конвертируют сэмплы на лету перед подачей на аудиокарту.
То ли дело когда вон там апя и система умеет только 48000 какое, а у нас 22050 было - и у системы нет своего ресэмплера и микшера - так что SDL выдает жутко хрипатый крап.
Пардон - но этот блоат вполне оправдан. Ибо абстрагирует взбрыки и заскоки ВСЕХ мыслимых систем - до ОДИНАКОВОГО common denominator на который уже можно уповать. Везде и всюду. Даже на всякой эзотерике если кто и туда ухитрится собрать сабжа.
А собирают его под всяко разно. Скажем Android, Nintendo Switch, и наверное еще что-нибудь этакое.
| | |
| |
| 5.38, рассерженый фанат sdl (?), 20:55, 01/01/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
>>умеет только 48000 какое
при чем тут это? открывай в любом формате в каком пожелаешь. это не то же самое что автоконвертация на лету.
| | |
| |
| 6.43, Аноним (51), 21:11, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
>> То ли дело когда вон там апя и система умеет только 48000 какое, а у нас 22050 было
> при чем тут это? открывай в любом формате в каком пожелаешь
По-моему, ты не понимаешь, о чем говоришь. Какое "открывай в любом формате", если тебе чел прямо написал о случае, когда аудиокарта поддерживает только определенный набор сэмплрейтов и форматов сэмплов?
| | |
| 6.45, Аноним (-), 21:54, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
> при чем тут это? открывай в любом формате в каком пожелаешь.
> это не то же самое что автоконвертация на лету.
И потом мне что, самому ресемплить под возможности системы? Узнаая их для начала? А оно мне надо?! Сабж юзают как раз чтобы этим мозг не делать.
| | |
|
|
|
| 3.22, Аноним (51), 17:50, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> они добавили 2d api, gpu api и кучу других абстракций. это никак не low level access
В таких абстракциях как бы и весь смысл SDL. Если тебе нужен "low level access", то зачем тебе SDL?
> sdl это bloatware
Нет, потому что вся подобная функциональность отключается флажками компиляции.
| | |
| |
| |
| 5.42, Аноним (51), 21:08, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
>> В таких абстракциях как бы и весь смысл SDL.
> sdl нужен чтоб весь этот доступ одинаковым способом работал на разных ОС
Я тебе буквально об этом и написал: абстракции как раз и дают этот "одинаковый способ".
| | |
|
|
|
|
| 1.18, Аноним (18), 14:46, 01/01/2026 [ответить] [﹢﹢﹢] [ · · · ] | +/– | Я надеюсь не такой идиотизм, как в большинстве опенсорсных игр, когда png распак... большой текст свёрнут, показать | | |
| |
| 2.20, Аноним (20), 15:23, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
Не говоря уже о том, что во многих случаях картинка спрайта сдела без изврата, и её можно аппроксимировать цветными треугольниками, и соответственно вместо текстуры хранить эти треугольники, экономяя память и получив автомасштабирование.
| | |
| 2.23, Аноним (51), 18:02, 01/01/2026 [^] [^^] [^^^] [ответить] | +2 +/– | Ты реально вместо игры в 2D спрайтовую игру сидишь и замеряешь потребление вид... большой текст свёрнут, показать | | |
| |
| 3.141, Аноним (141), 23:13, 04/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>Эксперт, а ты не задумывался над тем что компрессия текстур - это lossy процесс
lossy.
>и для 2D его не делают потому, что никто не хочет видеть угашенные по цветам/деталям спрайты и задники
А придётся. Память-то небесплатная, вызов 'dimm.emplace_back(memory);' памяти не прибавит. Либо так, либо наслаждайтесь трешингом.
>Сжимать текстуры по-умалчанию, убивая тем самым ее цвет и детали
Вообще обычно лучше просто разрешение повыше сделать, но при этом - пожать, но большом разрешении артефакты только при зуме видны, да зачастую только на разностном изображении.
| | |
|
| 2.28, Аноним (28), 19:00, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
>> поддержка изображений в формате PNG
> Я надеюсь не такой идиотизм, как в большинстве опенсорсных игр, когда png распаковывается в RGB-массив, когда простенькие 2D спрайтовые игры уровня 90х жрут память как не в себя, потому что разработчик не заморочился сделать компрессию текстур, кеширование и memory-mapping.
Осталось только понять, как все то, что ты настрочил, относиться к SDL и цитируемой тобой поддержке загрузки PNG картинок в памятьв частности.
| | |
| |
| 3.32, Аноним (32), 20:17, 01/01/2026 [^] [^^] [^^^] [ответить] | –3 +/– | Что тут не понятного SDLу не следовало экспортировать функцию SDL_LoadPNG в при... большой текст свёрнут, показать | | |
| |
| 4.39, Аноним (51), 20:56, 01/01/2026 [^] [^^] [^^^] [ответить] | +/– | Чел, иди проспись Какое еще texture_compression, если SDL_LoadPNG грузит изобра... большой текст свёрнут, показать | | |
| |
| 5.49, Аноним (49), 01:52, 02/01/2026 [^] [^^] [^^^] [ответить] | +/– | Изображения должны быть не в памяти, а на HDD А в память их должна грузить либо... большой текст свёрнут, показать | | |
| |
| 6.50, Аноним (51), 02:39, 02/01/2026 [^] [^^] [^^^] [ответить] | +1 +/– | Новая порция кекспертизы Да При помощи SDL_LoadPNG, например Из оперативы вы... большой текст свёрнут, показать | | |
| |
| 7.54, Аноним (54), 06:00, 02/01/2026 [^] [^^] [^^^] [ответить] | +/– | Я всё правильно несу Что выгружено в своп - то в физической DRAM места не заним... большой текст свёрнут, показать | | |
| |
| |
| 9.83, Аноним (83), 16:46, 02/01/2026 [^] [^^] [^^^] [ответить] | +/– | Ну это известно Зависит от платформы Моя десктопня карта такое не поддерживае... текст свёрнут, показать | | |
|
|
|
| 6.56, Аноним (-), 06:56, 02/01/2026 [^] [^^] [^^^] [ответить] | +/– | Ну так оно и загрузит - позвав вот эту либу Потому что вот именно самому грузит... большой текст свёрнут, показать | | |
| |
| 7.79, Аноним (83), 16:39, 02/01/2026 [^] [^^] [^^^] [ответить] | +1 +/– | Разумеется А ты что хотел, something for nothing Так не бывает А нефиговейший... большой текст свёрнут, показать | | |
| |
| 8.105, Аноним (-), 06:34, 03/01/2026 [^] [^^] [^^^] [ответить] | +/– | А зачем играть в лагучее нечто Или рассуждая как дев зачем релизить во что я да... большой текст свёрнут, показать | | |
| |
| 9.110, Аноним (110), 18:16, 03/01/2026 [^] [^^] [^^^] [ответить] | +/– | worksforme, notabug, clasic У дева на топовом железе ничего не лагает Разуме... большой текст свёрнут, показать | | |
|
|
|
|
|
| 4.57, Аноним (51), 06:57, 02/01/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> При вызове она проверяет наличие файлов кеша, если они есть - мапит их, если нет - открывает файл-оригинал, создаёт кеш, закрывает файл-оригинал, мапит кеш
А что именно ты предлагаешь кешировать, если у тебя и так есть "файл-оригинал"?
| | |
| |
| 5.82, Аноним (83), 16:44, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
Я предлагаю кешировать на диске сжатую текстуру в оптимальном формате компрессии под конкретную видеокарту. Игра распространяется с оригинальными PNG-файлами. При запуске игра проверяет доступность форматов - либа опрашивает OpenGL-расширения (в compressonator всё это есть, как и в современных игровых движках). Далее выбирается формат. После чего при попытке загрузить PNG-файл сначала проверяется наличие и свежесть файла кеша, если его нет - он конвертится в выбранный формат, формат дампится на диск, и оттуда - mmapится. RGBA-данные для работы игры не использовать совсем.
| | |
| |
| 6.87, Аноним (51), 17:04, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
Я никогда не видел, чтобы игра загаживала диск кешем текстур. Кто будет вычищать сотни мегабайт (а то и гигабайты) данных после удаления игры?
> RGBA-данные для работы игры не использовать совсем.
А если ни разработчик, не игроки не хотят видет убитое компрессией месиво вместо спрайтов нормального качества?
В общем, ты предлагаешь разработчику делать больше работы ради того, чтобы пользователи получили худшее визуальное качество спрайтов. Сори, но уж лучше ТЫ приобрети нормальное железо и перестань делать голову себе и другим людям.
| | |
| |
| 7.88, Аноним (88), 17:41, 02/01/2026 [^] [^^] [^^^] [ответить] | +/– | Деинсталлятор, конечно же В случае портативки никто не вычищает В случае линук... большой текст свёрнут, показать | | |
| |
| 8.90, Аноним (51), 18:29, 02/01/2026 [^] [^^] [^^^] [ответить] | +/– | Да, но Quake 3 и даже Doom 3 в свое время поставлялись с текстуроми в обычном JP... большой текст свёрнут, показать | | |
| |
| 9.108, Аноним (108), 15:50, 03/01/2026 [^] [^^] [^^^] [ответить] | –1 +/– | Был, именно тогда сжатые текстуры и внедрили в продукты 6228 Как и ожидалось, ... текст свёрнут, показать | | |
|
|
| 7.130, Аноним (130), 14:29, 04/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Я никогда не видел, чтобы игра загаживала диск кешем текстур. Кто будет вычищать сотни мегабайт (а то и гигабайты) данных после удаления игры?
А что насчёт кэша шейдеров на сотни мегабайт для каждой игры? Причем, в клиенте Steam даже есть функция загрузки (и удаления) этого кэша, вместе с игрой.
Причем, это не маргинальный случай, а норма для современных GAPI.
(https://www.sebastianaaltonen.com/blog/no-graphics-api)
| | |
|
|
|
|
|
|
| 1.26, Аноним (51), 18:29, 01/01/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– | |
> API 3D GPU и API для двумерной отрисовки
Самое большое разачарование с выходом SDL 3 стало то, что они так и не привели SDL_Renderer в человеческий вид. Высокоуровневое 2D API, в котором нельзя нарисовать повернутый на N градусов прямоугольик, не говоря уже о банальном круге - это какой-то позор. Зачем было добавлять такой огрызок - так и осталось для меня загадкой.
| | |
| |
| 2.68, Аноним (68), 13:04, 02/01/2026 [^] [^^] [^^^] [ответить]
| –4 +/– |
Почему нельзя? Берите и рисуйте. Сами.
А то одному прямоугольник повернуть, другому блюру добавить, третьему… и уже ImageMagick получится.
| | |
| |
| 3.73, Аноним (63), 14:20, 02/01/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> Берите и рисуйте. Сами.
Сам я это и в OGL прекрасно нарисую.
| | |
| 3.85, Аноним (51), 16:48, 02/01/2026 [^] [^^] [^^^] [ответить]
| +2 +/– | |
> Почему нельзя?
Потому что API для этого отсутствуют. Ты цирк решил развести, или что?
> Берите и рисуйте. Сами
Зачем тогда SDL_Renderer нужен? Сношаться с OpenGL, Vulkan и т.д. по отдельности я и сам могу.
| | |
| |
| 4.129, Аноним (130), 14:24, 04/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
SDL_Renderer - кроссплатформенная абстракция над GAPI. Затем и нужен, чтобы не писать код под каждую платформу отдельно, и чтобы твой код не превратился в тыкву, когда производители карт захотят продать тебе новую карту и объявят используемые тобой API устаревшими.
| | |
|
|
| |
| 3.107, Аноним (63), 15:49, 03/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
Где тут повёрнутый прямоугольник? А его нету. Вращается текстура, а не прямоугольник.
| | |
| |
| 4.128, Аноним (130), 14:17, 04/01/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Геометрию фигуры ты вообще-то сам определяешь. Располагай вершины как хочешь. Поворот фигуры можно получить умножением её вершин на матрицу поворота, которую ты можешь задать отдельной библиотекой линейной алгебры (например, GLM). Если ты работал с OpenGL, то там, внезапно, тоже самое: 2D - частный случай 3D (третья координата игнорируется), самостоятельные переносы и повороты системы координат перед отрисовкой фигуры.
Какие тут могут быть претензии к SDL? Только нелепые, дилетантские.
| | |
| |
| 5.134, Анрним (?), 17:34, 04/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
>>> SDL_RenderTextureRotated
>> Где тут повёрнутый прямоугольник?
> Геометрию фигуры ты вообще-то сам определяеш
Покажи мне, как определить геометрию в SDL_RenderTextureRotated.
> Какие тут могут быть претензии к SDL?
Ты вообще читал комментарии выше? Претензии в отсутствии возможности нарисовать круг вызовом одной функции, как это делается в любом нормальном аысокоуровневом 2D API.
> Только нелепые, дилетантские.
Нелепо встрявать со своей экспертизой, не разобравшись в сути обсуждения.
| | |
|
|
|
|
| 1.27, Аноним (27), 18:49, 01/01/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– | |
> Добавлена встроенная поддержка изображений в формате PNG, для работы с которыми предложены функции SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG() и SDL_SavePNG_IO(). Для определения формата (PNG или BMP) и загрузки изображений в качестве поверхностей добавлены функции SDL_LoadSurface() и SDL_LoadSurface_IO().
Так вот почему в OpenXRay (неофициальном порте Сталкера на Linux) Splash Screen в формате BMP. Походу, его показывают ещё до того, как запустилась сама игра (до появления окна с игрой). А значит, ранее был доступен только BMP.
| | |
| |
| 2.34, Аноним (34), 20:33, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
А толку. Новая версия ждалкера, говорят, глюкодром на уровне предыдущих. Вероятно в переиспользованном движке как был глюкодром, так и остался. Говорят что в новой версии даже A-Life доломали, я не понимаю, как это вообще возможно, была же рабочая версия. А в новом говорят нового ничего, тот же самый экспериенс, только с другим сюжетом и более высокими системными требованиями. Даже качать не буду, мне испорченных нервов от ЗП после того, как игра с определённой точки вылетать стала, и никакие патчи это не чинили, хватило. Пусть GSC сами наслаждаются своим глюкодромом.
| | |
| |
| 3.35, Аноним (27), 20:45, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> говорят
Ну, я посмотрел пару десятков стримов и обзоров. Нормальный такой глюкодром, не больше чем у других AAA-игр.
Коммент-то не про это. Выше спрашивали, зачем в SDL нужна поддержка PNG, когда она должна быть в SDL_image? Ну вот, походу, и ответ на вопрос - чтобы Splash Image показывать перед спавном окна, и следовательно до того, как в дело пошёл SDL_image.
| | |
| 3.95, Аноним (96), 20:40, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
A-Life никогда не был рабочим в официальных релизах. Его фанатскими модами восстанавливали и правили всем миром, всем народом, всей страной.
| | |
|
| 2.94, Аноним (96), 20:38, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
BMP - это буквально RAW-пиксели. Их можно передать почти как есть в GAPI, чтобы на экран скопировать. А PNG - формат со сжатием (без потерь), его ещё распаковать нужно.
| | |
| |
| 3.132, Аноним (131), 15:56, 04/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
BMP - это не совсем RAW-пиксели.
>Each scan line is zero padded to the nearest 4-byte boundary. If the image has a width that is not divisible by four, say, 21 bytes, there would be 3 bytes of padding at the end of every scan line.
>Scan lines are stored bottom to top instead of top to bottom.
>RGB values are stored backwards i.e. BGR.
Там ещё поддержка RLE есть.
| | |
|
|
| |
| 2.46, Аноним (-), 21:56, 01/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Какой директ-то поддерживается?
Сабж - не двигло 3D рендера как таковое, внезапно.
| | |
| |
| 3.62, рассерженый фанат sdl (?), 10:42, 02/01/2026 [^] [^^] [^^^] [ответить]
| +3 +/– |
но поддержку png впихнуть им это не мешало. правильно анон сказал выше - огрызок какой то. зачем-то в низкоуровневой библиотеке намутили апи, в котором повернутый прямоугольник даже не нарисовать
| | |
| |
| 4.121, Аноним (-), 05:26, 04/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> но поддержку png впихнуть им это не мешало.
PNG вообще никак к 3D не относится сам по себе. А вот ассеты в нем бывают довольно часто. В том числе и 2D сугубо. И это совершенно нормально.
> - огрызок какой то. зачем-то в низкоуровневой библиотеке намутили апи, в
> котором повернутый прямоугольник даже не нарисовать
Я думаю что нормальные прямоугольники нужны сильно чаще чем повернутые. Ну там UI допустим какой-то отрисовать. И все такое.
| | |
|
|
| 2.53, Аноним (53), 03:50, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
Тебе какая разница, ты же не разработчик-пользователь. Ну а в конечном приложении для тебя всё укажут.
| | |
|
| |
| 2.70, llolik (ok), 13:30, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
Судя по git-у, изначально всё началось с этого https://github.com/libsdl-org/SDL/issues/12716 .
В linux (если я ничего не путаю, то и в Mac) иконки умеют либо в png, либо в svg. Но не умеют в bmp, который изначально умел sdl. Поэтому реализовали ещё и простой загрузчик png (с помощью stb библиотеки). Тащить для этой цели целый libpng как-то перебор, не кажется?
| | |
| |
| 3.77, Аноним (77), 16:02, 02/01/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не кажется. libpng линкуется динамически, и постоянно в памяти висит, поэтому заюзать её - и дешевле, и полезнее будет.
| | |
| |
| 4.92, llolik (ok), 18:43, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Не кажется. libpng линкуется динамически, и постоянно в памяти висит, поэтому заюзать
> её - и дешевле, и полезнее будет.
Только ты забываешь, что SDL предполагает работу не только в linux, а, в идеале, практически везде, где libpng не обязательно болтается. А SDL_Image - это опциональная библиотека расширения, а не "базовый", назовём так, SDL.
| | |
| |
| 5.93, Аноним (51), 19:11, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Только ты забываешь, что SDL предполагает работу не только в linux
Но проблема с иконкой в трее, ради которой притащили PNG, была как раз только в Linux. Почему было не загрузить libpng динамически (ведь они и так это делают с libappindicator) - загадка. Зато встроили дырявый stb_image.
| | |
| |
| 6.100, llolik (ok), 23:24, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
В принципе, там #ifdef SDL_HAVE_STB макросами обнесено. Хочешь, можешь и без него собирать (но и без PNG, конечно). Будут просто заглушки, с SDL_SetError.
| | |
| 6.122, Аноним (-), 05:28, 04/01/2026 [^] [^^] [^^^] [ответить]
| –2 +/– |
> они и так это делают с libappindicator) - загадка. Зато встроили
> дырявый stb_image.
Потому что png это несколько круче чем опциональщина в трее и юзается много где еще.
| | |
|
|
|
| 3.86, Аноним (51), 16:56, 02/01/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Тащить для этой цели целый libpng как-то перебор, не кажется?
А его и не нужно "тащить": в том же SDL_Image он подгружается динамически. Код загрузки PNG получается мизерным, а сама libpng разделена в памяти между другими приложениями.
Здесь же решили "притащить для этой цели целый" статически слинкованный stb_image, который мало того, что NIH в вакууме, так еще и кешит дыренями (в libpng за десятки лет ее использования примерно ВЕЗДЕ их хотя бы почти все залатали).
| | |
| |
| 4.123, Аноним (-), 05:32, 04/01/2026 [^] [^^] [^^^] [ответить] | –1 +/– | Вот только надо тащить еще 1 SDL_Image который не core part как таковой 2 Lib... большой текст свёрнут, показать | | |
| |
| 5.124, Аноним (51), 05:50, 04/01/2026 [^] [^^] [^^^] [ответить]
| +/– |
>> А его и не нужно "тащить" [...]он подгружается динамически.
> Вот только надо тащить еще 1) SDL_Image который не core part как таковой. 2) Libpng.
Что и куда ты собрался тащить? Ты понимаешь, что такое ДИНАМИЧЕСКАЯ загрузка библиотеки?
>> мало того, что NIH в вакууме, так еще и кешит дыренями
> И вы это пруфанете, конечно?
Конечно:
https://github.com/nothings/stb/issues?q=is%3Aissue%20label%3A&
Ну и в целом большими буквами написано:
"This project discusses security-relevant bugs in public in Github Issues and Pull Requests, and it may take significant time for security fixes to be implemented or merged. If this poses an unreasonable risk to your project, do not use stb libraries."
| | |
|
|
|
|
| 1.144, Аноним (144), 00:12, 05/01/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Объясните пожалуйста GPU api которое то ли работает без отдельного репозитория с транслятором шейдеров то ли не работает... Как его использовать? Насколько все плохо без opengl? webassembly реально не планируется?
| | |
|