Shaderey

An entry for ATI/Beyond3D DX9 shader competition. According to the results, Shaderey is the winner! :)

2004 Jun 26: updated the demo itself and this page due to upcoming article in ShaderX^3. Shaderey updates are: GUI instead of command line, made it work on GeForceFX, some minor cleanup/optimizations.

The demo

Displays outdoors scene rendered in some-NPR (non photorealistic rendering) way. Plays camera animation, allows manual camera controls and fast-forward benchmarking mode. No music :(

Requirements

  • DirectX 9.0a (or later) runtime.
  • Graphics card that supports Pixel Shaders 2.0 and Vertex Shaders 1.1.
    Tested and seems to work on ATI Radeon 9500 and up; nVidia GeForceFX and up.
  • 64MB on graphics card is enough (for normal use). A card that supports DXT1 compressed textures is preferable.
  • The demo can make use of Multiple Render Targets (2 of them, A8R8G8B8 format) if they are supported. They are disabled by default, see note below.
Note that Anisotropic filtering and/or FSAA in graphics card settings don’t have much influence here (so better turn them off or to “application preference”).

Usage

Run “shaderey.exe” and set video mode and other parameters in the dialog.

For benchmarking mode, set ‘Benchmark mode’ checkbox in the starting dialog. After completion of whole animation loop, the “score” is number of frames that were rendered. It doesn’t lock backbuffer to ensure full flush, though :( Note that at startup, some (20) frames are rendered for warming up, and don’t affect the score.

To enable use of Multiple Render Targets (if they are supported), set ‘Use multiple render targets’ checkbox in the starting dialog. By default MRTs are disabled - my observations suggest that they have rather big performance hit in fill-limited cases.

When not in benchmarking mode, the keys are:

  • Q - turn camera animation on/off
  • W - wireframe on/off
  • Arrows/A/Z/S/X - control camera when not animating
  • PgUp/PgDown - control sun when not animating
  • Alt-F4 - exit

Download it!

Executable, data files, full source code: shaderey.zip (3.12MB).
Full usage instructions, explanation of techniques, effects, shaders and sources are included.

See it

Thumbnails, click for a larger shot.