Click to See Complete Forum and Search --> : Graphics Programming :: Approach and Books
kuphryn
May 11th, 2004, 07:08 PM
Hello,
I am an experienced C++ programmer especially on the Win32 platform (MFC, Win32 API, etc.). I am limited experience on intensive graphics programming including OpenGL and DirectX. I have some general questions about graphics programming.
1) I often read about how DirectX does not work well with MFC. Is that accurate?
2) Is DirectX platform independent?
3) Is OpenGL platform independent?
4) What do graphics programmers including gamers use: DirectX or OpenGL?
5) What is more extensible, and essentially, better graphics API on the Win32 platform? What are some good books for learning this graphics programming tool?
6) What is the future of graphics programming especially on the Windows platform?
As you can see, my experience and knowledge in graphics programming is quite limited. I'd appreciate any insight.
Thanks,
Kuphryn
Yves M
May 11th, 2004, 08:55 PM
[moved thread]
Yves M
May 11th, 2004, 09:07 PM
Your questions in order:
1) No clue, sorry
2) DirectX is mostly limited to Windows. You can use it under Linux in some forms with Wine (Windows API layer for Linux), but that's a bit roundabout. Even though quite a few DirectX games work under Linux with Wine, I wouldn't call DirectX portable.
3) OpenGL is portable across a lot of platforms natively. Linux, Mac, Windows, SGI etc...
4) Many use DirectX, many use OpenGL. It's a thorny question since both have advantages and disadvantages. I'd say, in case of doubt, use OpenGL. DirectX has more than just support for Graphics, with DirectInput, DirectPlay and DirectSound e.g.
5) Both are very good and both require some learning. For a list of books, check out Gamedev's FAQ (http://www.gamedev.net/reference/start_here/) (it's a good site about Graphics programming in any case)
6) On the Windows side, I'd guess that they will keep developing DirectX to include more functionality from next generation graphics cards. It's a tough call, since Longhorn will *probably* include a new UI manager anyways, new .NET based APIs for sure and hence probably an entirely new way to do graphics programming. If you want to be future-proof, I'd go with OpenGL since it's less at the whim of one manufacturer, but that is highly subjective.
kuphryn
May 11th, 2004, 09:38 PM
Okay. Thanks.
Kuphryn
panayotisk
May 12th, 2004, 04:11 AM
1) I think most DirectX programmers stay away from MFC because they want to avoid its overhead, they use Win32 calls instead. I do not know if DirectX does not work well with MFC.
kuphryn
May 12th, 2004, 10:44 AM
Interesting. Okay.
One reason I am asking so many questions about graphics programming is because I've found that there are very few graphics programming books. For example, if you were to search Amazon, say, database programming, you'd see many more results than graphics programming. My point is there are very few books on graphics programming.
I read that the one drawback to graphics programming using OpenGL on the Win32 platform is the fact that MS does not update the to the latest OpenGL library, which is 1.4. MS only port up to version 1.1 or 1.2. Secondly, version 2.0 is already in the works. However, there is no plan to port it to the Windows platform.
Right now I am seriously considering these two books. One is on OpenGL. The other book is on graphics programming in C++. Both are very expensive and I do not want to buy the wrong book.
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.4, Fourth Edition
http://www.amazon.com/exec/obidos/tg/detail/-/0321173481/qid=1084372965/sr=8-1/ref=pd_ka_1/002-9611673-6764029?v=glance&s=books&n=507846
Computer Graphics with OpenGL (3rd Edition) by Donald Hearn and M. Pauline Baker
http://www.amazon.com/exec/obidos/tg/detail/-/0130153907/ref=pd_sim_books_3/002-9611673-6764029?v=glance&s=books
Please give inputs if you have read them. Also, other recommendations and good online tutorials would be greatly appreciated.
Kuphryn
wien
May 12th, 2004, 01:02 PM
It's true that windows only has built-in support (software) for OpenGL v1.1. This is however no problem, since you can load all features beyond version 1.1 in as extensions. (As long as they're supported by the driver) It's a little bit more work, and you can't be sure all graphics-cards support all the extensions you want to use, but it's generally not a problem. OpenGL v1.5 and all it's extensions is available on most mid- to high-range hardware these days. (At least on ATI and Nvidia hardware!)
wien
May 12th, 2004, 01:06 PM
As far as books go.. "The red book" (The first link you posted if I'm not mistaken) is considered a must-have if you have any plans of coding for OpenGL. That book is to OpenGL, what "the standard" is to C++.
PS: Note that the v1.4 version of The Red Book doesn't cover vertex- and fragment-programs, even though it says so on the cover. Finding help on those on the internet shouldn't be a problem though.
Ejaz
May 21st, 2004, 11:29 PM
Both are very expensive and I do not want to buy the wrong book
Dear kuphryn,
You don't need to buy any of them, have a look at them
http://www.itlib.net/
http://www.pdf.org.yu/forum/
http://ww2.uznetworkz.com:8080/forum/
enjoy ;)
kuphryn
May 24th, 2004, 08:47 PM
Okay. Thanks.
Kuphryn
codeguru.com
Copyright Internet.com Inc., All Rights Reserved.