I want to pre-announce another sample that will soon be available on ISN for download, certainly either during or right after GDC. And that brings up an interesting question, that of taxonomy of sample code. From the Intel Gaming and Graphics Samples team point of view, there are three categories for the sorts of code one could expect in a development kit:
- A sample is a small, precisely targeted piece of code embodied in a buildable IDE project and exposed to teach developers how to do “thing x” using BKMs on Intel platforms. The main idea is these are small and simple enough to enable cutting and pasting into ISV code. One might also see these enabled as Visual Studio Code Snippets in the future; although how the device-create, frame-animate, frame-render, and device-destroy code is presented as a choice to developers for live insertion into Visual Studio is still TBD in my head.
- An explorer is a larger, buildable IDE project that exposes multiple techniques to allow developers to compare and contrast between techniques. The extra complexity to present multiple techniques is accepted to enable the compare-contrast teaching moment and it’s understood this makes it harder to reuse the sample code in ISV applications
- Demos are essentially eye-candy and might be delivered as binary only; our team might use them for booths and events. Demos typically have larger technical scope and art requirements than either a sample or an explorer. It is possible to extract individual techniques from a demo and make a sample per technique.
The current plans of the Gaming and Graphics samples team is to not produce “demos” and strive for either the simpler sample or the compare-contrast explorer approach. We’d be interested in hearing feedback either in the comments or in forum posts from the developer community on that approach.
With that said, the two buildable projects we shipped previously are samples that are relatively simple and precise. AVX Cloth shows how to use SNB specific features on the CPU. Onloaded shadows show how to load-balance low-frequency calculations between the GPU and the CPU, and does that for a single shadow technique and a single light, the sun.
The next sample the team will ship, due for GDC ( Intel at GDC ), will be what we call Shadow Explorer. Shadow Explorer implements four shadow mapping techniques with runtime modification of various parameters so the user can compare both the performance and the quality of the methods. The shadow mapping algorithms presented are: simple, percentage closer filtered (PCF), variance (VSM), and exponential variance (EVSM).
We hope the developer community finds this sort of compare-contrast “explorer” code project useful, as well as the more targeted “sample” code projects.