I'm an educator who uses SFML to teach some graphics programming. I love it. My students can be up and running quickly writing 2D games, then later we can incrementally add raw 2D- OpenGL, eventually moving on to GLSL shaders and then 3D OpenGL, all in the same SFML framework.
SFML is great because it hides a lot of the nitty-griitty around setting up windows, loading textures loading compiling and linking shaders, while allowing me the freedom to do relatively advanced stuff like GLSL and 3dOpenGL.
However, there is one small issue which would help me out greatly, that is passing full 4x4 matrices to the shaders using SFML, which of course is necessary for any non-trivial GLSL shader.
SFML does pass 4x4 matrices to shaders, via trasforms, but the code only allows us to write to the 3x3 submatrix. All I ask is either
a new transform constructor which takes a float[16] as a parameter,
or a new method on the shader like this one;
Shader::setParameter(const std::string& name, const float m[16]); // can reuse the code from the trasform version
I'll use GLM to generate the actual matrices, I just need a sfml native way to get the 4x4 matrix into the shader
I know Laurent has often said that he will only support 2D features, but this is such a small change and would help so much.