我一直在OpenGL界面中挂钩一些方法来添加一些额外的功能(在这种情况下,将OpenGL转换为TCP / UDP协议)。
我一直在使用一个简单的共享库,我用GCC和LD_Preload构建它来修改现有的函数。这种技术似乎对某些方法很有用,而且我有像dlsym和glBegin这样的方法的工作版本。
但是,我无法挂钩某些glx函数,例如glXSwapBuffers
和glXMakeCurrent
。
任何人都可以解释为什么我可以挂钩常规的openGL方法而不是glx?
答案 0 :(得分:0)
(在这种情况下,将OpenGL转换为TCP / UDP协议)。
我可以问为什么?通过使用X11 / GLX OpenGL(直到版本2.1,遗憾的是,OpenGL-3还没有GLX)已经是网络透明的。无需额外的工作。
为什么你认为OpenGL-1.1到OpenGL-2.1确实有功能
glDisableClientState
glEnableClientState
^^^^^^