Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Down with OPP: Other Programs' Pixels

Name: Anonymous 2009-11-16 0:19

I'm trying to figure out how I can read the graphics output from other programs for the sake of creating (meta) visualizations.

I think the key to this is finding out where the framebuffers are, or somehow accessing them. If I can start drawing bitmaps of framebuffer data from one other (abritrary) program, I'm satisfied.

The thing is, I'm a little over my head. I've never worked with low-level languages before, but the idea of reading other programs' memory seems to necessitate one's use, if only for the sake of bypassing restrictions from a compiler. But I wouldn't know how to start looking for framebuffers in memory. (Come to think of it, I've never looked for anything in memory before, at least memory I didn't allocate myself.) There is an assembly language for GPUs by OpenGL.

I've also run across Cg and GLSL in my research, which look awesome for making shaders, but I don't know if they'll help me do this specific task.

Any ideas?

Name: Anonymous 2009-11-16 3:51

>>8
On Windows a LKM is a device driver. It's probably a misnomer, but that's how it is. The driver is loaded in kernel mode and you can do anything you want with it, but I'm not sure if it's the best idea for your problem.

Hooking ddraw/d3d/opengl/gdi/... is actually more simple and clean/safe than doing it via a driver. There are also some documented ways of grabbing output from other applications, but you will have to provide more information about what kind of application. You won't be able to capture d3d/ogl output via gdi functions.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List