   opengl tutorial
  I was looking throughhttp://nehe.gamedev.net/lesson.asp?index=01and it seems like a good set of lessons however it says it is written in 1997 and updated in 2000. judging from the code in the tutorials would it be a bad idea to learn from something that is 9 years old? Has the opengl API changed enough or added simpler ways of doing things that I should find newer lessons? Also is there any popular abstraction layers for opengl/directx?   
  So is OpenGL as shown in those tutorials outdated? Yes. I think there's a rewrite effort underway, to replace it with how the API is used these days. Not only that, but the code as written by the original programmer is not that instructive, and actually has examples of things you shouldn't be doing. If you want to learn OpenGL, get the red book.Quote:Also is there any popular abstraction layers for opengl/directx?Search for graphics libraries and graphics engines.   ;Quote:If you want to learn OpenGL, get the red book.Not that I have a better suggestion, but many people criticize the red book for exactly the same reason. It is outdated and teaches mostly to the old compatibility profile rather than new core profile.   ;Quote:Original post by oler1sSo is OpenGL as shown in those tutorials outdated? Yes. I think there's a rewrite effort underway, to replace it with how the API is used these days. Not only that, but the code as written by the original programmer is not that instructive, and actually has examples of things you shouldn't be doing. If you want to learn OpenGL, get the red book.So does anybody have any links to better tutorials with clear correct usage? I'm not ready to commit to buying textbooks and rigorously training from them yet since I'm mainly looking to supplement something I'm already working on . Besides it looks like the latest version of the red book isn't very well received. The nehe tutorials being down to earth and extensively commented are the type of thing I'm looking for, if they weren't incorrect and outdated.Quote:Search for graphics libraries and graphics engines.I'm currently using SFML but I'm interested in something that abstracts OpenGl in general rather than something geared to 2d or an already fully built engine like ogre   ;  Alright, if there aren't any good uptodate tuts for opengl how about for directx/direct3d. I'm looking for something moronproof that explains things completely.   ;  If you search I'm sure you can find something. Just look for "opengl 3 tutorial".Heres the most basic getting started one from opengl.org The First Triangle ;  Isn't it up to 4 already...what version should I stick with to be safe?   ;  There is an OpenGL 4, but it is a minor extension/iteration.Usually the process is first new features are added as optional extensions the GPU companies may implement, then every so often they release a new version where groups of useful extensions are promoted into the "core", meaning they are guaranteed to be implemented.So typically a new version doesn't really change much in the eyes of the API users. Assuming a new feature is implemented in your hardware you can access and use it via extensions. So if you're using an extension in OpenGL 2 and it is promoted to core in OpenGL 3, nothing really changes for you. The API is still the same, the code is still backwards compatible, etc. However back in version 3.1/3.2 they finally decided to depreciate/remove all of the old cruft that was not aligned to how hardware currently operates (e.g. the "fixed function pipeline"). This fixed function pipeline is what the NeHe tutorials are based on and why they aren't that popular these days. You can still use the pipeline via a 'compatibility profile' (so that the new version is still backward compatible), but forward looking programs are supposed to stick to the new 'core' which is much more streamlined.Basically you could divide OpenGL code into pre-3.2 and post-3.2. As long as you are learning to program with the new core profile, thats perfectly fine. It's not like DirectX where every version is a clean break from the previous and a totally new API.   ;  I've been hearing a lot about this 'object model' that is supposed to substantially change the api. Have they implemented it yet or is it still due?   ;  No, it is still a state machine and I don't know if there are any concrete plans to change that (seems like that would be a pretty major overhaul). However there are bindless graphics extensions nowadays I think to improve the state machine performance which might mitigate the need for an object model.   