1

I would like to grab video frames (images) from a game that is launched at PC at the moment.

XSplit Broadcaster has such functionality. It somehow listing the processes that are actually video games and allows to grab video frames.

As far as I understand, it can be accomplished by enumerating Direct3D surfaces that are running at the moment and grab the picture from it.

Am I correct? What is the solution for OpenGL games then?

Nicol Bolas
  • 449,505
  • 63
  • 781
  • 982
Dalamber
  • 1,009
  • 1
  • 12
  • 32

2 Answers2

0

Have you checked out glReadPixels()? I have used it before. It is a little slow though.

Try

glReadPixels(0,0,width, height,GL_RGB, GL_UNSIGNED_BYTE,buffer);
genpfault
  • 51,148
  • 11
  • 85
  • 139
seesharper
  • 147
  • 4
  • 16
0

apitrace seems able to capture frames using Ye Olde LD_PRELOAD Tricke.

Community
  • 1
  • 1
genpfault
  • 51,148
  • 11
  • 85
  • 139