Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add OpenGL libraries to software package

I have developed a scientific code package (for collisional/gravitational N-body simulations). It does not require any libraries to run. People can download it and simply type make to compile it. I want to keep it that simple.

I added OpenGL as an option to visualize the simulation in real time. It looks really great. However, some people don't have an OpenGL/GLUT library installed on their machine.

What is the easiest way to allow those users to use my code without having to install external libraries manually. I have the feeling that if I write a sentence like "Please install OpenGL/GLUT." in the manual, it will put off many people. Can I just add freeglut to my source package? Is that a good idea, or do you have any other suggestions?

like image 428
hanno Avatar asked Oct 23 '22 23:10

hanno


1 Answers

OpenGL is not really a library, despite the name. I suggest reading the L of OpenGL as "Layer". OpenGL comes as part of the GPUs drivers. In that case the dynamic library installed on the system provides an API to the drivers, but next to no internal functionality. So there it makes no sense shipping an OpenGL "library" with your program.

You just make it dependent on opengl32.dll/libGL.so/OpenGLFramework. If use of OpenGL is optional, there is the possibility to load the API access library dynamically, but this is quite a mess.

like image 166
datenwolf Avatar answered Oct 27 '22 10:10

datenwolf