XNA and WinForm:


Ray tracing programs can be complicated and difficult to debug. To help you overcome these issues, I have developed a simple graphics interface based program where we can interactive examine the generation of ray trace image. All your programming assignments will be developed based on this program and this program is developed based on:

1.     Programming Language: C#

2.     Graphics API: XNA Framework

3.     GUI API: WinForm

 

C# Programming Language: If you have never worked with C#, don’t worry, it is virtually identical to Java. Give yourself a day or two extra time and you will pick it up.

 

Microsoft XNA: XNA framework is a collection of libraries (API) for C# programming language that supports graphics, network, and gaming devices (XBOX 360 and Zune) programming. You will use very simple XNA utility classes (e.g., Vector3, or Color), and otherwise you do not need to be concerned with XNA API functions. Except, you need to install the SDK to compile your programming assignments. We are working with XNA V3.1, here are some information you will need:

1.     IDE: You will need at least one of the following IDE installed. Make very sure you have one of the following IDEs installed before install XNA.

a.     Visual Studio 2008 (as a CSS student, you can get this for free. Refer to e-academy or dreamspark for more)

b.     Visual C# Express 2008: this is freely available from here.

2.     Downloads: XNA V3.1 SDK Download.

a.     This is a rather large download (>72MB).

b.     Again, make sure you have at least one of the above IDEs.

c.     Double click the .exe to install XNA.

d.     Your graphics hardware must be at least DirecX9c compatible to run XNA applications. This essentially means, your machine needs to be less than 5 or 6 years old.
 

3.     Documentations:

a.     For the API: XNA Framework class library documentation (this is also available off the help menu from the XNA Games Studio Express).

b.     For the IDE: XNA Games Studio Express.

4.     Other information:

a.     Find out more about XNA: XNA Creators club online.

b.     On-line discussions: This is MSDN XNA discussion bulletin. As in all on-line discussion sites, this place has many useful information, unfortunately, it also contains many not very helpful (and sometimes even misleading discussions). Read with care, and watch out, sites like these can easily take up your entire day!

 

WinForm GUI API: WinForm is a graphical user interface (GUI) library (API). You _DO NOT_ need to know WinForm to work with programming assignments in this class. However, if you have some time to spare, you can probably pick up WinForm programming over a weekend. Here are some tutorials Ethan Verrall (ex-450/451 student) developed based on William Frankhouser’s (another ex-450/451 student) excellent tutorials for MFC:

Tutorials on how to work with WinForm library (tutorial source code (zip) and on-line html).