Hello there.
I am completely new to graphics-programming, never did anything with it before,
so please don’t be to rough to me ;).
So I am also new to this Forum and don’t know if I’ve choosen the right area.
In short words: I need to “record” a specific part of my screen
and transfer the informations from this part (the image) to another program.
I neither want a screencast program nor an ordinary screenshot because of two reasons:
- I need an exact(!) timing of the screenshot (I will call the command from another program-loop)
- I really(!!) need to optimize the performance.
After searching the Internet I found some suggestions that it would be the best thing
to copy directly the framebuffer or parts of it.
Is that still a proper way of getting very fast information from the graphical output?
And who “manages” the framebuffer?
If an application writes its information into it, can I grab the frame-buffer with my java routine?
For a better visualization:
E.g. Quake2 runs and produces an 800x600 OpenGL window in Linux (while the res of the whole desktop is 1600x1200).
Is it possible writing a simple Java application that copies parts of (e.g. the 800x600 area) the framebuffer from my video card,
storing the information in an variable, passing this information to another program?
And at the very last, where can I get good information of how all these graphical things are managed?
I didnt find any good tutorials explaining who is responsible for the frame buffer, who can access it,
grab it and so on.
Is this a task of the X-Server (respectivley the running OS), or the application that draws the window
(in my case Quake2) or is it possible to access it later (as I hope)?!
I would be really glad if you could help me.
Thanks in advance!