[Home] [About] [Download] [Shaders] [People] [SF Project]


Several packages are available at the files page. A brief explanation of the different packages is given here:

You may want to look at the Windows build instructions. Under other operating systems, consult the INSTALL file in the package for instructions.

See the COPYING file for the licensing terms.

A note on requirements

Sh by itself does not require special hardware. However, it will make use of it if it is available. If you would like to run Sh using hardware acceleration you will need to have a card that supports the ARB_fragment_program and ARB_vertex_program extensions. ATI Radeon 9600s and up do so, as well as all Nvidia GeForce FX cards. Other cards also have support for these extensions, check your documentation to find out. If your card only supports ARB_vertex_program, you can use Sh to program that, but any examples using fragment programs will fail.

On Nvidia cards Sh will automatically make use of available extensions such as NV_fragment_program_option which provide some extended instructions (e.g. branching in the vertex unit for NV30 and up, and branches in the fragment unit for NV40 and up).

If you don't have a modern GPU you can install the Mesa OpenGL library, which is a software implementation of OpenGL that, as of version 6.0, supports the necessary extensions to run Sh programs.

Stream programs can be executed on the CPU without any special GPU support using the "cc" backend, which compiles Sh code to the host CPU using the GCC or Microsoft Visual C++ compiler.

Sh used to include support for a GPU simulator (Sm, see above) but this support is deprecated right now. In the future we may revive it as work on Sm continues.

Subversion Access

If you want the latest and greatest Sh version, you can use our anonymous Subversion server. On Windows we recommend using TortoiseSVN.

The Subversion repositories are all located at You must use HTTPS (not HTTP). The anonymous username is simply anonymous, and the password is empty.

Beware that while we try to keep the trunk healthy, there may be bugs in the trunk due to new features. There will probably be API changes (on the development branch anyways) so you will almost certainly have to recompile your Sh program everytime you check out a new version of the trunk.

On the other hand the trunk often has many bug fixes not found in the released versions yet. So if you find a bug we recommend that you try the trunk first. And of course you should always check the Issue Tracker to make sure it hasn't been reported yet (and report it if that's the case).

Copyright 2003-2010 Intel Corporation.