This Ada-binding to OpenGL aims at providing the latest OpenGL features in a collection of Ada packages. It also supports the major OpenGL support libraries such as GLU, GLUT and GLFW.


It was about time to release 0.12. I have been putting it off for a while now hoping that someone would test the WGL binding, but so far that has not happened.
0.12 includes bindings to GLFW and WGL and the GNAE support has been fixed as it was broken in 0.10. Also, 0.12 no longer requires a patched AdaBindX to work. It's on the downloads page.
I accidentally forgot to add the AdaBindX patch to the 0.10 release so if you want to use it with X11 support you have to fetch the patch from AdaOpenGL 0.9.
I'm working on the next release which I expect to be out shortly. It will no longer require a patched AdaBindX, it will include support for WGL and GLFW and I have updated the opengl, glX and glext bindings to the latest versions available. There are also some more style corrections, mainly in glext and glX which should now compile without warnings with '-gnaty'.
The WGL and GLFW bindings are already in CVS if you want to try them out. The WGL binding is currently being verified by one of my users and I will probably whip up some minor GLFW demo some day soon to test that binding. After both are verified I will release a new version.
At this point there are only two things left on my todo list for 1.0, and they are an AGL-binding and make sure everything compiles with '-gnaty' (I don't think all of the examples do at the moment). I should also design some better documentation, although this is a boring task.
AdaOpenGL 0.10 is out, grab it from the downloads page.
This is a minor update which mainly constitutes of a gazillion style fixes, an install target in the Makefile and compilation of a dynamic library.
I have run this version on MacOS X and it is working just fine, what is missing though is a binding to AGL and I still haven't gotten round to fixing a WGL binding.
At the moment I am working on a project where I will be using this binding a lot so hopefully I will be forced to create those two last bindings in the near future =). I consider AGL, WGL and final style fixes the three tasks left before I go 1.0 so we are getting close already.
Long time, no update. I've been very busy at school, but I haven't forgotten about this project yet.
As my school project is coming up, and it uses Ada and OpenGL I'm hoping to clean some stuff up here real soon.
In the meantime you can admire the new screenshot of AdaGLUT running on MacOS X 10.2.4 in Apple's X11. I'm hoping to be able to write a carbonized example in the near future for all you OSX-lovers out there.
Finally I have released AdaOpenGL 0.9 which I would like to consider the first stable release.
I have not had time to extensively test it but the tests I have performed tells me it's working satisfactory.
You can get it from the downloads page.
These versions are supported:
OpenGL: 1.4
GLU: 1.3
glut: 3.7
glX: 1.4

New features:
  • glut support
  • Replaced all uses of "access GL*" in function/procedure declarations with GL*Ptr types
  • Added glut example
  • Added SDL example

  • You can now pass Ada null's to gl* functions (that support it)
  • Removed unnecessary overloaded functions that used System.Address since you can use 'Unchecked_Access to pass an aliased variable as a pointer
  • Stronger typing
  • glX fixed, requires a patched AdaBindX 0.7.2, or a newer version (not available at the moment)
  • glX example now working
  • Alot of sourcecode cleanups
Guillaume Foliard found the glX problem and sent in a a patch that adds two missing features to AdaBindX which are needed to use glX. The patch has been sent to the AdaBindX developers and we hope that it will be included in the next release.
In the meantime the patch can be downloaded here: AdaBindX 0.7.2 Patch
Since this was the final major bug with the current CVS version of AdaOpenGL I hope that I will be able to release the next version within the next day or two. There are some minor bugs left in the examples that I want to fix first and I have to study for my exams (therefore the delay).
OpenGL.GLUT is up and running. OpenGL and OpenGL.GLU seems to behaving as they should, so the next release is closing in fast. The only thing that is not working as I want it to is OpenGL.GLX. Passing a NULL to glXCreateContext as the sharedList parameter causes an exception to be raised even though this is how you use it in C, I must've misunderstood some vital Ada part relating to interfacing C libs. I have added a screenshot of GLUT running one of the NeHe tutorials in fullscreen.
I'm working on the thick binding and it is progressing nicely. There will probably be a prototype available real soon.
As I have three exams starting next saturday and after that I'm back to school I'm in a hurry to finish as much as possible this week since I don't know how much time I will have available in two weeks.
I have added a documentation section. Most of the docs are generated by AdaDoc so they might not be very informative. Hopefully I will get some more comments into those files which will make the docs more human readable.
I've also restructured some of the function calls in CVS thanks to some hints from Joachim Schröer. I've begun working on GLUT, but it's not ready for use just yet.
I have uploaded adaopengl-0.1.tar.gz.
This release is meant to be used for evaluation and feedback. It is likely the API will change somewhat in the near future to provide a thicker binding. The standard OpenGL API will always be there though.

This is the first post.
There is not much here yet except that css and iconset that I stole ;).
There is a somewhat useful version of AdaOpenGL in cvs. If you have anything constructive to say about it please mail me or use the mailinglist provided by sourceforge.