Opengl LD_预加载故障

Opengl LD_预加载故障,opengl,static,hook,shared,ld-preload,Opengl,Static,Hook,Shared,Ld Preload,我在OpenGL接口中挂接了一些方法,以添加一些附加功能(在本例中,将OpenGL转换为TCP/UDP协议) 我一直在使用一个简单的共享库来修改现有函数,这个库是用GCC和LD_Preload构建的。这项技术似乎对某些方法非常有效,我有dlsym和glBegin等方法的工作版本 但是,我在挂接一些glx函数时遇到问题,例如glXSwapBuffers和glXMakeCurrent 谁能解释一下为什么我可以钩住常规的openGL方法而不是glx (在本例中,将OpenGL转换为TCP/UDP协议)

我在OpenGL接口中挂接了一些方法,以添加一些附加功能(在本例中,将OpenGL转换为TCP/UDP协议)

我一直在使用一个简单的共享库来修改现有函数,这个库是用GCC和LD_Preload构建的。这项技术似乎对某些方法非常有效,我有dlsym和glBegin等方法的工作版本

但是,我在挂接一些glx函数时遇到问题,例如
glXSwapBuffers
glXMakeCurrent

谁能解释一下为什么我可以钩住常规的openGL方法而不是glx

(在本例中,将OpenGL转换为TCP/UDP协议)

我可以问一下为什么吗?通过使用X11/GLX OpenGL(直到版本2.1,不幸的是OpenGL-3和更高版本还没有GLX),网络已经是透明的。不需要额外的工作

为什么你认为OpenGL-1.1到OpenGL-2.1有函数

glDisableClientState
 glEnableClientState
         ^^^^^^

只是澄清一下:
glX
函数不是
OpenGL
的一部分。它们是的一部分,它还为X客户机/服务器模型定义了额外的有线(命令)协议。