Sh is a programming language built on top of C++. It can be used to write shaders that run on top of modern graphics processing units (GPUs), or write stream programs that run on GPUs or CPUs. It is implemented as a C++ library, and allows programs to be generated at run-time using a number of metaprogramming techniques. Variants of programs for different cases can easily be generated, or programs can be generated entirely at run-time from some input data. The system is cleanly separated into a frontend and backend, and is hence portable.

Operating Systems

Recent releases

  •  17 Feb 2006 08:00

    Release Notes: This is the second release candidate for the stable release of Sh. It fixes most issues related to 64-bit operating systems, ATI GPUs, Visual Studio 2005, and Mac OS X. Aside from a number of small bugfixes, two memory leaks have also been eliminated and the dead code remover has been improved. An SDL example is now available in the examples directory along with Visual Studio project files for all other examples.

    •  10 Nov 2005 00:31

      Release Notes: Shrike has been updated for Sh 0.8.0rc0.

      •  10 Nov 2005 00:31

        Release Notes: New features include: support for generic input binding on the arb and glsl backends; support for the ATI draw buffers extension on the glsl backend; SH_RETURN, SH_BREAK, and SH_CONTINUE; and Andrew Lauritzen's optimizations for uniform update methods.

        •  06 Nov 2004 00:30

          Release Notes: This release handles errors (such as running out of instruction limits or missing textures) much more gracefully, displaying a useful dialog on the screen when one occurs. A few new example shaders are also included, such as a demonstration of the new "palette" feature.

          •  06 Nov 2004 00:29

            Release Notes: This release has several new features and many bugfixes. Palettes have been added ("vertex parameter arrays" in OpenGL terminology), allowing you to index into an array of uniform parameters from within vertex programs. Streams work under Windows, and several stream-related issues have been fixed (including a number of memory leaks). A simple particle system showing Sh's stream programming capabilities is now included. This release compiles cleanly with gcc 3.4 and continues to work with gcc 3.3 and MSVC++ 7.1 and 2005.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.