I'm perfectionist in programming, I dont like legacy code and I need some answers for myself about this library(which seems like perfect for 2d game programming for C++).
That may be, and it is good that you strive to be perfect, but that doesn't mean that you have to care how a library ends up implementing its functionality. The whole point of using a library is abstraction - not having to know how it really happens at a lower level. As long as the external behaviour is consistent, the library would have done its job. In the end, when you request SFML to draw something in your window, it doesn't really matter whether it happened through OpenGL, Direct3D, Mantle or OpenGL Next does it? That is the reason why you are using SFML as a library, so you don't have to know how it really does things.
Instead of asking whether OpenGL Next will be supported in SFML (which is equivalent to asking whether SFML will implement things in a certain way), you should ask whether features are/will be supported by SFML. Those are questions we might be able to answer now, and if you suggest a feature that is good (this is what the
feature request forum is for) it might even get added to SFML at some point.
This is common for C# game libraries(MonoGame,SharpDX). I come from these libraries to SFML because sometimes I tired to write managed code. Basically I'm C# dev with some C++ knowledge.
In C++, there is the
standard library (automatically available with your toolchain, the stuff in the
std:: namespace) which provides features that everyone uses (and should really use when possible), and external libraries that provide features that the standard library doesn't. Then there is the differentiation between header-only libraries and libraries you have to build. SFML is a library you have to build, whereas
Eigen is a header-only maths library (which probably provides many different kinds of clamp functions
). I don't know how it is in C#, but you are less likely to find a C++ library that "does everything". You will have to use multiple libraries if the features you want are very unrelated, as is typical in games programming.