My developer blog
Glus for linux
19 February 2010Posted by on
I have tested this evening on Ubuntu 9.10 with a G8800 and it works perfectly.
How to build the code
GLUS use Glew to load all the openGL extension, the Glus packet that you download from the site already include Glew. But if you have Glew already installed it can generate some conflict. The Glew library that came with Ubuntu is not the most recently updated and support openGL up to 3.0. So you can remove Glew and use the one that came with Glus or download the latest Glew source and build it by yourself (it take 5 min.)
svn co https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew glew cd glew #Probably you will need these package sudo apt-get install libxmu-dev xorg-dev make extensions sudo make install
Now you can go in you Glus directory and type
Now you can run the examples, make sure you have the latest driver installed.
I’m not a big fan of Glut, it imposes a programming style that leads to a tons of global variables (I’ll write an article about that) but is very simple and for a rough test is very good. Glus use the same program style but removing all the deprecated stuff and add some utility function to:
- create openGL 3.2 context
- read and create shaders from files
- operate on matrix and vector
- load TGA texture
- create some basic shapes (cubes, sphere, plane)
- Very easy to learn, if you already had programmed with glut you don’t have to learn anything new.
- First framework that support openGL 3.2 natively.
- Very young, no documentation yet.
- It’s not object oriented
- No support for multi-threading
- No license… MIT? ZLIB? Need to ask.
I still don’t know why people in 2010 don’t program with object, but I think it’s a matter of taste. The lack of documentation is fullfilled by some example. I’m a bit worried about the license I hope it will adopt LGPL3.
IMHO Glus is very good to create some basic example, with the utility function you don’t have to bother about texture loading or shader creation, making prototyping faster. I don’t know if it’s good to create more complex program. In this case you usually create your own code for matrix, image and shader manipulation, also it lack of multi-thread support that really limit the possibilities.