I was just wondering what everyone’s prefered language was for writing OpenGL apps? Also has anyone tried writing in other languages (even if they aren’t their preffered one) and what were your experiences with that language and OpenGL like?
I prefer C++, but it’s the only one I tried it with. I would always prefer an object oriented language. Here I can encapsulate my 3D view in a class an write member functions e.g. for camera movement which I can use in later works. So, to answer your question: I think, C++ and OpenGL is a good combination.
C is fine for smaller projects and quick-and-dirty experimental stuff, but usually starts to get a bit unmanageable over 10k lines of code or so. Bigger C programs are certainly possible - there are perfectly stable million-liners out there - but writing C on this scale takes an enormous amount of discipline and usually involves reinventing many of the features of C++.
If you’re just starting with OpenGL, I’d recommend C or C-style C++. It’s a lot faster to play around with, just because it’s less restrictive. I normally try things out this way and then refactor the code into C++ classes when I’ve got a grip on what I’m doing.
That said, be careful when applying naive OO methodology to realtime 3D. In particular, lots of OO texts use the example of a graphics system which just maintains a set of abstract objects, each of which is entirely responsible for drawing itself. This is NOT the way to do fast 3D.
C++. In fact I think that OpenGL was specially designed for C++. And to make OpenGL in VB is a joke. To acces the win api - you’d better give me a shotgun and solve the problem forever.
I have a friend that makes OpenGL in Delphi and it does it just fine which it proves that if you are mad enough you can do whatever you want.
Opengl libs were written in C. So I think that openGL integrates with C the easiest. I frequently use C++ in my opengl programs just cause the object based programming is easier in C++ than C. However there are definently a few hacky spots whenever I want to make an Opengl program entirely in C++.