Many people use the default graph library of TC in the initial stage of graph development. I followed the same path, but then, naturally, I noticed allegro. The reason is very simple, his functions are sufficiently complete and sufficient, and his encapsulation provides the Console Program Programming mode. That is to say, you can easily work in the graphic mode in main in C language. Of course there are many other graphics libraries worth using, but I still recommend Allegro.
It would be a waste of time to write a BMP read/write function. Because even if we write BMP graphical functions, I am afraid no one else can write well. This era is no longer an original and well-defined era, and what comes with the principle is so mainstream.
In this case, it is best to use it. When I selected the graphics library, Allegro, SDL, DirectX, and OpenGL all entered my field of view, but I chose Allegro, because TC writes Code It will be easily transplanted, not only because Allegro can work with GCC, but also because the TC code is more suitable for the structure of the console program. When it comes to SDL, dx, OpenGL, the message mode is so important that your TC does not have this mainstream concept. Therefore, Porting Programs becomes a big problem. If your program development fails, your thinking will be interrupted. It takes time to re-learn the graphic development of the message mode. Why don't you buffer it? This is just my suggestion.
After using Allegro for more than a year, I decided to enter the SDL world, not only because SDL is stronger and more universal than allegro, but also because it uses the message mode, many of its concepts are easier than dx to some extent and closer to Allegro. However, many of his ideas also use dx. Therefore, as an excessive amount of data from Allegro to DX, it would be better. If you cannot deal with DX all at once, I recommend you the way you go. But it seems that this road is too long. But in this way, you can learn more in the process of DX, and the process of training your graphics development technology is getting more and more easy. Two birds in one fell swoop.
DX is what we all yearn for, but SDL also brings us a lot of difference. You can write the same program in Linux, windows, or even other systems, only because SDL exists everywhere. Even a small OS like menuet can also use SDL.
Don't worry too much about entering 3D is another suggestion. Without a good 2D Foundation, your 3D world will be in a mess. Because there are too many concepts that should have been learned in 2D, But you mix them with 3D.
If you are not a fairy, learn Allegro. Then there is SDL and DX.