Recent developments in computer games and in Interactive TV have led
to the creation of new gaming applications such as interactive
gaming (game played by a couple of players) and more. With that in
mind, these projects aim at achieving real-time interception of game
figures allowing the player full visibility of the figure's
behavior.
The game interception is based on DirectX rendering commands from
the CPU to the Graphical Processing Unit (GPU). This data is further
processed in real-time by the GPU to estimate the figure's 3D
structure including position motion and more.
This kind of experiment with a final product can be seen as Reverse
Engineering, as we try to get information and to manipulate a given
package – a binary game or graphical application. It is used in many
and various aspects of science, from machine engineering to physics,
and using it we can educate ourselves from a given final work, and
perhaps to enrich the product itself with our insights.
Several products that are purposed to the same goal exist, for
example graphic remedy’s gDebugger,
which perform interception of real time binary application that uses
openGL, and contain different Debugging tools such as breakpoints
and stepping over given commands sent to the OpenGL API, graphic
profiling and so on.
In this project we try to reach a lower level result then the
example mentioned above, while doing so to the DirectX API instead
of the OpenGL one, and to try and capture a certain geometry model\s
within the game.