Большинство приложений (и библиотек) с использованием OpenGL на Linux загружается libGL.so
во время выполнения с использованием dlopen
API, вместо динамической привязки к нему.OpenGL на Linux: dlopen libGL.so
Почему они это делают?
Единственная причина, по которой я могу себе представить, это то, что любой поставщик графических драйверов предоставляет разные libGL
, а два разных libGL
могут быть несовместимы с ABI. (Ну, гул, почему они должны быть несовместимы с ABI? И даже если это так, зачем загружать их через dlopen
, исправить эту проблему?)
В любом случае, если есть веская причина для этого, я бы хотел сделать это это также. У кого-нибудь есть ссылка на код C/C++ с открытым исходным кодом, который загружает все функции OpenGL через dlopen
, который я могу включить в свой проект, не требуя слишком много настроек?
«* Большинство приложений (и библиотек), использующих OpenGL для Linux, загружают libGL.so во время выполнения, используя dlopen *», этот оператор не так уж и прав, особенно для игр с открытым исходным кодом GL. – user502515