我习惯于在大多数Linux发行版上链接libGL.so。无论是mesa的实现还是NVIDIA的。但是,我真的想限制自己使用OpenGL ES 2.X功能,所以我试图链接并使用libGLESv2.so。但是,我看到libGLESv2.so动态部分中没有glX函数:
nm --dynamic /usr/lib64/nvidia/libGLESv2.so | grep glX
同时尝试再次链接libGLESv2.so会导致对glX函数的未定义引用。
这引出了我的问题。什么是" GetProcAddress"的正确方法。而动态链接libGLESv2.so?另外,如何在没有glX的情况下构建适当的上下文?
答案 0 :(得分:0)
我不确定你弄清楚你的应用程序的相关程度是多么容易,但在pi3d中我们使用libEGL.so(或windows上的ANGLE的libegl.dll)获取绘图上下文。 / p>
这是找到并加载动态库的地方
这是表面创建并附加到GLESv2函数
的地方https://github.com/tipam/pi3d/blob/master/pi3d/constants/init.py