Utilizing SDL3
created: 2025-03-09 22:15:03 UTClast updated: 2025-03-11 02:48:46 UTC
For this project, I have decided to go with SDL3. I've been dabbling in it for a while since I saw that it was being worked on and was getting close. Now, it has an official public release, but I was trying it prior when you have to pull down the project and build it yourself with CMake.
So far, I am really liking SDL3, even though I am not taking advantage of much of the new things. For instance, this project, as of right now, is completely software rendered using a pixel buffer. It is not utilizing the new SDL_gpu API. However, I do hope to eventually get around to that. Perhaps once I get this engine where I want with base functionality enough to implement a level, I can look at what it would take to convert it from software rendering via a pixel buffer to utilizing the GPU for rendering. Or maybe in a completely different project. I think once thing I need to wait on for that is for more people to experiment and write some documentation or material around it. I have not looked at it in the past couple of months, but when I did, most of the 'documentation' was just reading the header files and code. I am not particularly an expert at these kinds of graphics APIs, so it was probably just too early for me to jump in.
The interface changes, I have found to be really good and better when compared to the SDL2 APIs. The APIs have gotten better, but are not a 180 from the SDL2 APIs. So it is fairly quick to get up to speed. Some things are initialized a little differently. While its not explosive in the feature set I am using, I do appreciate some of the renaming, consolidation and documentation of the new APIs.
So far, I am really liking SDL3, even though I am not taking advantage of much of the new things. For instance, this project, as of right now, is completely software rendered using a pixel buffer. It is not utilizing the new SDL_gpu API. However, I do hope to eventually get around to that. Perhaps once I get this engine where I want with base functionality enough to implement a level, I can look at what it would take to convert it from software rendering via a pixel buffer to utilizing the GPU for rendering. Or maybe in a completely different project. I think once thing I need to wait on for that is for more people to experiment and write some documentation or material around it. I have not looked at it in the past couple of months, but when I did, most of the 'documentation' was just reading the header files and code. I am not particularly an expert at these kinds of graphics APIs, so it was probably just too early for me to jump in.
The interface changes, I have found to be really good and better when compared to the SDL2 APIs. The APIs have gotten better, but are not a 180 from the SDL2 APIs. So it is fairly quick to get up to speed. Some things are initialized a little differently. While its not explosive in the feature set I am using, I do appreciate some of the renaming, consolidation and documentation of the new APIs.