0

I've been hooking some methods within the OpenGL interface to add some additional functionality (in this case, convert OpenGL to a TCP/UDP protocol).

I've been using a simple shared library which I've built with GCC along with LD_Preload to modify the existing functions. This technique seems to be working great for some methods, and I have working versions for methods like dlsym and glBegin.

However, I'm having trouble hooking some of the glx functions, such as glXSwapBuffers and glXMakeCurrent.

Can anyone shed some light onto why I can hook the regular openGL methods but not glx?

genpfault
  • 51,148
  • 11
  • 85
  • 139
user2078888
  • 27
  • 2
  • 5
  • 2
    Just to clarify: the `glX` functions are not part of `OpenGL`. They are part of an [X11 extension](http://en.wikipedia.org/wiki/GLX), which also defines additional wire (command) protocols for the X client/server model. – Brett Hale Apr 07 '13 at 06:34

1 Answers1

0

(in this case, convert OpenGL to a TCP/UDP protocol).

May I ask why? By using X11/GLX OpenGL (until version 2.1, unfortunately there no GLX for OpenGL-3 and later yet) is already network transparent. No extra work is required.

Why do you think OpenGL-1.1 to OpenGL-2.1 did have functions

glDisableClientState
 glEnableClientState
         ^^^^^^
datenwolf
  • 159,371
  • 13
  • 185
  • 298