LD_PRELOAD麻烦

时间:2013-04-07 03:19:35

标签: opengl static hook shared ld-preload

我一直在OpenGL界面中挂钩一些方法来添加一些额外的功能(在这种情况下,将OpenGL转换为TCP / UDP协议)。

我一直在使用一个简单的共享库,我用GCC和LD_Preload构建它来修改现有的函数。这种技术似乎对某些方法很有用,而且我有像dlsym和glBegin这样的方法的工作版本。

但是,我无法挂钩某些glx函数,例如glXSwapBuffersglXMakeCurrent

任何人都可以解释为什么我可以挂钩常规的openGL方法而不是glx?

1 个答案:

答案 0 :(得分:0)

  

(在这种情况下,将OpenGL转换为TCP / UDP协议)。

我可以问为什么?通过使用X11 / GLX OpenGL(直到版本2.1,遗憾的是,OpenGL-3还没有GLX)已经是网络透明的。无需额外的工作。

为什么你认为OpenGL-1.1到OpenGL-2.1确实有功能

glDisableClientState
 glEnableClientState
         ^^^^^^