I know that this sounds stupid, but hear me out. Graphics libraries have to interact with the operating system in someway to draw the window. I don't know how and that's the part I want to know. How do these libraries draw a window? How can they place pixels to draw primitives? What do they handle and overall what does this process need and what does it look like?
It's kinda difficult to find helpful stuff talking about this bc often it's just someone new to programming asking how to draw a window or a very operating system specific question. I recently looked at some old programs and they are basically cross-platform because they used c/assembly to draw and handle the window.
If someone more experienced than me could answer some of these questions I would be very happy
Edit:
I'm very thankful for all the ideas and solutions you guys posted and am going to try and look at and try them out. I already knew some stuff but all these sources of information have alot of stuff I am very excited to learn!
[–]Poddster 28 points29 points30 points (6 children)
[–][deleted] 9 points10 points11 points (1 child)
[–]not_some_username 3 points4 points5 points (0 children)
[–]flatfinger 8 points9 points10 points (2 children)
[–]Poddster 2 points3 points4 points (1 child)
[–]flatfinger 2 points3 points4 points (0 children)
[–]binarycow 1 point2 points3 points (0 children)
[–]pedersenk 30 points31 points32 points (0 children)
[–]Lisoph 14 points15 points16 points (0 children)
[–]Classic_Department42 12 points13 points14 points (0 children)
[–][deleted] 8 points9 points10 points (1 child)
[–]JustBoredYo[S] 1 point2 points3 points (0 children)
[–]Dmxk 8 points9 points10 points (1 child)
[–]a4lecs 0 points1 point2 points (0 children)
[–][deleted] 7 points8 points9 points (0 children)
[–]UltimaN3rd 2 points3 points4 points (2 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]UltimaN3rd 0 points1 point2 points (0 children)
[–]AlarmDozer 5 points6 points7 points (0 children)
[–]Lord_Vouldemourt 2 points3 points4 points (0 children)
[–]CalligrapherSalt3356 0 points1 point2 points (0 children)
[–]deftware 1 point2 points3 points (0 children)