The idea behind SDL is to take away the hard and complicated task of writing code for multiple sets of hardware across platforms. If you have it set up correctly you shouldn’t need to know how anything is implemented or access any SDL source code. It’s not a good idea to statically link SDL2 because you are denying your end-users access to future bug-fixes and performance improvements that come with new DLLs.
How many times have you needed to see the source code of printf(), or memcpy()? I never have. We only need to know what they do so we can focus on using them. If you want to know how they do what they do then it sounds like a strange hobby. Abstraction means you can be more productive.
The only time you’ll want to look into the source code is to fix a bug. I’ve been using SDL for many years, maybe 15 years and even I don’t dig around in the source code when there’s a bug - I leave that to the main devs who know more about how it all works under the surface. I try to point them in the right direction of the bug.
It seems SDL2 is not the tool you are looking for if you are wanting to look at the source code to know how it works, but in contrast to that you want a YouTube video to help you understand it? I’d love to help guide you to what you want to achieve, but it’s difficult to understand what you’re looking for at this stage.
Your argument is absurd. There are multitudes of closed source libraries out there that beg to differ.
Besides, SDL is not closed source and nothing is preventing you from reading the source. The entirety of SDL_Renderer is an abstraction over many backends. Thats the entire reason for it existing.
If its a problem with SDL, open an issue on github. You’re free to build SDL any way you want and debug it yourself too.
SDL supports a lot of different platforms. As an example, you cannot have the DX11 backend included in the builds for Mac or Linux. You have to abstract these out to separate implementations.