Short answer: It bothers me, that's why. Having said that, the real benefit of SAL's design is a clean separation between OS scaffolding and user code. OS events never stall the render loop, so the freezes that single-threaded apps are susceptible to (not only when resizing but also for example during device hot-plug, high message frequency due to precision input devices, and so on) are simply gone.
Showing of SAL (Simple Abstraction Layer), a GLFW-like library I'm working on. The idea is to offer only the features that are needed for game development while at the same time removing annoyances such as freezing or stuttering of the scene when resizing the window.
Edit: I realize the attribution is hard to see in the video. The shader is by Otavio Good. Check out his work at shadertoy.com/user/otaviogood
Zig is a beautiful language. I hope one day there will be Zig bindings for SAL.
I admit I'm a bit worried about porting SAL to macOS. On Windows, I basically reversed the traditional setup and have the main thread as the render thread and a dedicated worker thread as the window thread with the message pump, which is harder, if not impossible, on macOS.
@Bitdancer I’ve written something similar for myself in zig.
And fixing the resize stuttering on macos was the biggest pain point because of how the platform
wants everything to be on the main thread.
I’m pretty sure I still have some bug hidden on macOS
@JohnShaffstall Certainly, I expect to have version 0.1 ready to put on GitHub soon. Having said that, SAL will always just have a subset of SDL3 and GLFW features. I'm really hell-bent on keeping the Simple Abstraction Layer, you know, simple.
The first feature that comes to mind is multi-window support. All a game typically needs is a container to put the framebuffer in. Next would be the somewhat more obscure window properties such as passthrough and transparency.
Of course all this is debatable. My philosophy is: Design the framework to be extensible, but don't write all the extensions you can possibly think of upfront.
When working with the basic building blocks of a game engine, the lack of text rendering out of the box in OpenGL is painful. Check out github.com/DareksCoffee/G… for an easy drop-in to get some simple text rendering done.
@Lonegladiator_@Bitdancer@cmdsoftworks I was born to do this mate, you do you I do me. I love every second of this community and will be here until it's finished.
@REALSIRMEME@cmdsoftworks Hi there, I'm doing fine, thanks for asking. What are you up to these days? Looks like you're moving closer and closer to our side of the fence😁
@kyleeflam@Denissboss11 I do, and I actually used to hang out with people on Discord. But the moment it became more well-known, impersonators started creating fake Discord screenshots of things they claimed I said. It got so bad that I just stopped talking on Discord to protect myself.
@Bitdancer@Denissboss11 LOL 😭 bitdancer do you actually have discord? Someone said that THAT account on discord (bitdancerr) used to be urs or something idk what they’re talking about tho
@Bitdancer@kyleeflam I may be crazy but i swear roblox exploiters have these weird hyper parasocial relationships with the people above them. I don't know why this happens or how but i swear you always just see it coming from roblox exploiters. Not sure if this is the case for other games.