【问题标题】:LD_PRELOAD troubleLD_PRELOAD 麻烦
【发布时间】:2013-04-07 03:19:34
【问题描述】:

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

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

但是,我无法连接某些 glx 函数,例如 glXSwapBuffersglXMakeCurrent

谁能解释一下为什么我可以挂钩常规的 openGL 方法但不能挂钩 glx?

【问题讨论】:

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

标签: opengl static hook shared ld-preload


【解决方案1】:

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

请问为什么?通过使用 X11/GLX OpenGL(直到 2.1 版,遗憾的是还没有用于 OpenGL-3 及更高版本的 GLX)已经是网络透明的。不需要额外的工作。

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

glDisableClientState
 glEnableClientState
         ^^^^^^

【讨论】:

    猜你喜欢
    • 2010-11-11
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多