Microsoft DirectX-Direct3D (D3D): D3D is a 3D application programming interface (API) library from Microsoft. Examples of other popular 3D APIs include: OpenGL (or in Java: JavaOGL), etc. D3D is part of the Microsoft DirectX distribution. DirectX is a collection of APIs from Microsoft that supports software development on Microsoft platforms.
for general information on DirectX.
· DirectX SDK is the development toolkit for developing applications on top of DirectX. Typically a SDK includes:
o development environment (e.g. include files, etc)
o run time library (e.g. DLLs)
o development manual
· There are typically new releases of the DirectX SDK every 3-6 months. I checked on September 30, 2009 and the latest release is:
o June 2010 DX SDK – Click here to download the SDK.
o … whole bunch of releases …
o March 2009 DX SDK – Click here to download the SDK.
As far as this class is concerned, there is no real difference between the versions. You should be able to download any of the above versions. REMEMBER: to install the debug version of DirectX runtime support. Unfortunately, we will need to debug during the development.
Let me know if you have trouble downloading or need help. I can always cut you a CD.
Microsoft Foundation Classes (MFC): MFC has been around for quite a while now. After resisting learning it all my life, I finally took the dive in Fall 2002. Well, it was, and still is a pain, but it gets the job done.
· Steve Baer pointed out to me the following two websites for getting help on MFC related issues:
Steve was a UWB student. Yes, he is a co-author of the book we will be using in this class, and yes, there are tons of things students know more about than I do. No, it does not bother me. On the contrary, I love it! Why else do you think I am here? I am here to learn!
Standard Template Library (STL): I will be using STL for common data structures (e.g. Link List, etc). If you don’t already know about STL, Steve suggests Phil Ottewell's STL Tutorial (http://www.pottsoft.com/home/stl/stl.htmlx) as a good place to begin.
Others: Refer to my links to graphics/games sites, people post code/FAQ/etc on a lot of these sites. Remember to:
1. Cite any code/design that did not originate from you. Using others’ results is acceptable as long as you give them proper credit. Now, if you use too much of others’ result, your grade will suffer. But at least, you will not be doing anything illegal. Right?
2. Critically evaluate what you see on the web before you use it. For all you know, some novice programmer may have posted some bad design/code there. Using it blindly will make you look worst than a novice programmer. Now we can’t have that! Can we?