【发布时间】:2013-04-07 03:19:34
【问题描述】:
我一直在 OpenGL 接口中挂钩一些方法以添加一些附加功能(在本例中,将 OpenGL 转换为 TCP/UDP 协议)。
我一直在使用一个简单的共享库,它是用 GCC 和 LD_Preload 构建的,用于修改现有函数。这种技术似乎适用于某些方法,并且我有适用于 dlsym 和 glBegin 等方法的工作版本。
但是,我无法连接某些 glx 函数,例如 glXSwapBuffers 和 glXMakeCurrent。
谁能解释一下为什么我可以挂钩常规的 openGL 方法但不能挂钩 glx?
【问题讨论】:
-
澄清一下:
glX函数不是OpenGL的一部分。它们是X11 extension 的一部分,它还为 X 客户端/服务器模型定义了额外的有线(命令)协议。
标签: opengl static hook shared ld-preload