I’m starting to learn OpenGL, through my searches I have come across the ‘ARB assembly’ language aspect of OpenGL a few times now.
Personally I found it quite interesting, but most of the very limited resources on it that I found are several years old and I keep coming to posts suggesting that it is only supported in older cards /versions and is now a redundant /abandoned feature?
But then I had a quick look at the 4.2 specifications and it had new ARB extensions in the last section.
So I don’t know if anyone here can clarify, but is ARB:
[ul][li] Still supported and used in all versions of OpenGL?Is a feature /aspect of OpenGL thats here to stay indefinitely and if I were to learn it, I wont find that it’s died and becomes unsupported in anyway?is a low level aspect of opengl that still has access to every feature?[/ul][/li]
Or should I just stick to the more normal opengl programming?
You may have found it “quite interesting” because you haven’t been properly introduced to GLSL yet. If so, my signature contains a link to a tutorial you might find useful.
In general, ARB assembly is not being updated anymore. It is stuck at 2.0-level functionality, and it remains an OpenGL extension. The ARB is 100% behind GLSL, not ARB assembly, so GLSL is the one who has gotten many updates.
NVIDIA keeps it up to date with NV-extensions, but that’s only valuable if you restrict yourself to NVIDIA cards.
Personally, I say stick with GLSL. It works (mostly) and it’s still being improved.
Hi Alfonse, thanks for your reply.
Indeed, I haven’t properly been introduced to GLSL yet - I’m starting from the very bottom of the pool and reading as much as possible on the differern’t solution available as well as various tutorials /resources.
I personally prefer to have the most control (i.e. like assembly) - or at least the option to when necessary, which is why ARB was interesting to me.
However, from you reply GLSL seems the correct route to go down and focus on, so I will take that advise and do just that ;).
Also, very nice book that you have linked, which I am currently reading it’s a shame i would never have come across it if you didn’t have it in your signature.
- still supported, because of Doom3/Quake4/WoW (and all games that use their engine)
- it’s gonna stay supported for a bit more (decade?), but is stuck at supporting only ancient functionality, with a somewhat old view on graphics.
- isn’t low-level, and can compile to worse (slower) code than GLSL.
It’s good to look at it for some education, at least historical - it was somewhat low-level for geforce7x00. But definitely study how to use GLSL instead.
“ARB” are the initials of “Architecture Review Board”, which is the group consisting of Khronos, NVIDIA, AMD and many others, who write the OpenGL specification.
It does not specifically refer to the OpenGL assembly language.
The term ARB is used on any extension that is officially supported by the OpenGL Architecture Review Board, so can be considered “Optional” parts of the OpenGL spec.
Other extensions use an acronym of the company who developed it (NVIDIA, AMD etc) or “EXT” for extensions developed by several companies working together.
Hey guys, thank you once again for you replies.
With that it’s clear GLSL is obviously the route to go.
Much appreciated guys.