I'm an intermediate C++ programmer, and know very little about programming in Windows. I want to learn OpenGL; what's a really good book that would suit me? Thanks
I'm an intermediate C++ programmer, and know very little about programming in Windows. I want to learn OpenGL; what's a really good book that would suit me? Thanks
OpenGL Game Programming
>OpenGL Game Programming
seconded
>Look up the OpenGL Red and Blue books
I think that both are better as references more than something to start with, and they are available online anyway...
Okay, I think I'll go with OpenGL game programming, and I'm also purchasing "Tricks of the Trade of Windows Game Programming" by andres somethingorother. I'm going to learn a little 2D directX; that way I'll be more versitile. But learning openGL is more of a priority for me: I would like to code multiplatform; and stay away from microsoft specific!
OpenGL is easier to learn too.
yes OpenGL is easier to learn than DirectX, in my opinion. Rest assured, that'll be your opinion too
if you like functions with 10 params, each is a struct with 20 members, and everything's name starts with 8 caps, then DirectX is for you
well, I love Opengl as much as everyone here, but there are some reasons to use DirectX:if you like functions with 10 params, each is a struct with 20 members, and everything's name starts with 8 caps, then DirectX is for you
1) most commonly used graphics API in the prof. gaming market(I am speaking commercial titles, not indy-prof.)
2) Has full support by Windows, which is on ~92% of PCs
3) has most of the new features(shaders/etc.) built-in, instead of using encumbersome extensions.
Some reasons NOT to use DirectX:
1) doesn't run on those other ~8% of PCs, while OGL does
2) as mentioned in quote above, crappy naming scheme, overloaded(no, not the good kind) structs.
3) doesnt have a wide programmer base(while most commercial companies use DX, most hobbyists/programmers use OGL and you are more likely to get help if you have questions).
4) its M$(just had to include this :P).
now, back on topic..........
third this^^.OpenGL Game Programming
1) Isn't really a reason to use DirectX, I don't care what other programmers are using as long as the API I use does what I want it to do.
2) OpenGL does so too, it also runs on the remaining 8% you spoke of.
3) I think that using OpenGL extensions are much better than downloading the latest framework every time a new feature is out.
In OpenGL, the only latest driver and extensions header file are required to use new features.
4) OpenGL has a better community than DirectX.
Wow, thanks a lot for all the replies! I'm going to get "OpenGL Game Programming" instead of "Tricks on the trade of Windows Programming". Those were just the answers I was looking for!
"tricks of the windows game programming gurus" is a good book, as is "tricks of the 3d game programming gurus". neither focus on openGL though.
i personally use directx more than ogl, simply because its what ive gotten used to using. make a few wrapper classes and you dont have to worry about all the messes microsoft has created for your convenience.
I came up with a cool phrase to put down here, but i forgot it...
What is a wrapper? i'm still not sureOriginally posted by ...
make a few wrapper classes and you dont have to worry about all the messes microsoft has created for your convenience.
well, it is a programmer thing, and it's hard to explain if you don't already know what it is. but basically it just means that he made his own functions that do the directx stuff for him, and so he doesn't always have to remember the cumbersome details of directx stuff.
and OpenGL doesn't seem to be fully supported by microsoft, because a lot of the extensions that are extensions on Windows are NOT extensions on other operating systems...the only reason they must be extensions on Windows is that they don't update their OpenGL accessors (the headers and libraries you need to be able to make OpenGL function calls).
In short, they're both really good, both fast, both have their ups and downs, but OpenGL is easier and you're more likely to get help on the internet from other peeps. Also, you can always go into DirectX later, so why not start with the easier one?