Get Sh

Sh Package Downloads

Every package we offer is listed on the files page. The sections below give a short summary of what you'll find inside each one.

Browse All Files

shrike — the All-in-One Sh Application

shrike ships as a full application together with a set of sample shaders written in Sh. Because it provides a ready-made framework for trying things out, it's a convenient way to confirm your Sh setup is working and to prototype simple shaders.

shmedia — the Data Package You Need

shrike requires this package. It contains the models, textures and other data files that shrike relies on.

If you're on Windows, you may want to read the Windows build instructions. On other platforms, follow the steps in the INSTALL file that comes with the package. Licensing details are covered in the COPYING file.

What Hardware You Need

Sh doesn't require any special hardware, though it will use it when available. For hardware-accelerated operation, your graphics card must support the ARB_fragment_program and ARB_vertex_program extensions. ATI Radeon 9600 and later cards qualify, as do all Nvidia GeForce FX cards. Other cards may support these extensions as well — check the documentation to be sure. If your card supports only ARB_vertex_program, you can still program the vertex unit with Sh, but examples that depend on fragment programs won't run.

With Nvidia hardware, Sh automatically takes advantage of extensions such as NV_fragment_program_option, which provide extra instructions — for instance, branching in the vertex unit on NV30 and newer, and branching in the fragment unit on NV40 and newer.

If you don't have a modern GPU, you can install the Mesa OpenGL library — a software OpenGL implementation that, since version 6.0, supports the extensions Sh programs need. Stream programs can also run on the CPU without any special GPU support through the "cc" backend, which compiles Sh code for the host CPU using GCC or Microsoft Visual C++.

Sh used to ship with a GPU simulator (Sm), but that support is now deprecated. It may come back as work on Sm continues.

Getting the Code via Subversion

For the latest Sh code, use the anonymous Subversion server. On Windows, we recommend TortoiseSVN. The repositories are hosted at https://svn.libsh.org/ and must be reached over HTTPS (not HTTP). Log in anonymously with the username anonymous and an empty password. Read more about Subversion.

Bear in mind that while we try to keep the trunk in good shape, new features can bring bugs. API changes are likely (particularly on the development branch), so you'll almost certainly need to recompile your Sh program whenever you check out a new trunk revision. The upside is that the trunk often carries bug fixes that haven't reached a release yet. If you run into a bug, try the trunk first — and always check the Issue Tracker to see whether it's already been reported (and file it if it hasn't).

Copyright 2003-2010 Intel Corporation.

Not sure where to begin? Grab the shrike application together with the shmedia data package, then run one of the bundled example shaders to confirm everything is set up correctly. If you'd rather build from source or track ongoing changes, the Subversion instructions above point you to the latest code.