However, it would be nice to access the frame buffer without the need of the graphics.lib, Draw, Clear and SwapBuffer functions would be a definite plus!
- Clear is glClear.
- SwapBuffer is Window::Display()
- Draw is... whatever you want with OpenGL
EDIT: The reason I’m asking this is because I’m trying to render 1080p HD video directly in a Window. Syncing audio and video is a fairly complex process and so far, 720p is going very well but the pipeline is stalling with 1080p… I’m currently using sf::Image:UpdatePixels to update each frame and I’m looking at a more direct way to access the frame buffer. If that is possible.
On modern platforms (I mean since GPUs exist), accessing directly the framebuffer is not possible anymore. You have to use the path that graphics drivers define for you, which consists of uploading the data to a texture and then rendering this texture on a fullscreen quad.
That's basically what sf::Image::UpdatePixels do, and the only faster solution is maybe to use OpenGL PBOs (pixel buffer objects).
Of course I assume that you're using sf::Image and sf::Sprite in the most efficient way. And that you're not doing silly things such as testing in debug mode
The other video project from Ceylo, that you can see on the wiki forum, is pretty good at playing HD videos, it has no performances problem so far.