Avalaible through SVN, today.
I've been putting this off for a long time, but being on vacation in Switzerland I decided it was time to tackle this. Finally.
- Samples are now organized in three large categories and multiple subcategories, making them easier to browse.
- Each sample now comes with a short description and an explanation of its concepts.
- The source code of each sample is available right in the sample browser.
Obligatory screenshots below.
Still missing / help wanted:
- The aforementioned explanations. If you have some time to burn, consider picking a sample and writing a short explanation (examples: how does GLSL work? How does immediate mode work?). Any document format other than pdf is fine (the sample browser uses rtf).
- Source-code highlighting. If you are aware of any highlighting rich text-boxes that work on Mono, please post a link!
- Check that this works on Mono 2.0+. Mono 1.9.2 seems to work relatively well (scrolling artifacts in the rich text-box), but still need to confirm it works in newer versions.
- Modify the examples so that they work outside of the Examples project without modification. This generally means putting a couple of
#ifdefregions around the
Exampleattribute and inside the main method.
- Touch up some of sample sub-category icons.
Features under consideration:
- Make the source-code editable. This would be very cool for quick experimentation (change a line here or a constant there and see what happens!) and a prototype already exists in a branch, but it's relatively complicated to make it work reliably. Besides, the sample browser is no code editor (no autocompletion, no error checking), so it might be easier to just copy the code into a real editor. What do you think?
- Use CodeDOM to translate the samples to Visual Basic and C++/CLI, similar to MSDN.
- Add screenshots to each sample.
- Find a more intelligent way to specify which document / source file belongs to which example. Right now you need to add the relevant files as resources, which is not very nice (because you need to update the resources every time you change the code of a sample.)
Help / comments appreciated.