Sh

[Home] [About] [Download] [Documentation] [FAQ] [Shaders] [Forum] [Mailing lists] [Tracker] [People] [SF Project]

Welcome!

Sh is a library that acts as a language embedded in C++, allowing you to program GPUs (Graphics Processing Units) and CPUs for graphical and general-purpose computations in novel ways. For more information about Sh, see the About Section or read the FAQ.

Sh is available for download under an open-source licence. You can check out screenshots and download sample shaders in the shaders section.

Feel free to join our mailing lists. We also have an irc channel #libsh on irc.freenode.net.
A sample Sh shader
Procedural Worley Shader. More shaders...

News

Want to keep up-to-date on Sh? Join our RSS News Feed!

2006-08-24 What's going on with Sh?

As you are likely aware, Sh started from years of research at the University of Waterloo. In 2004, RapidMind Inc. (Serious Hack Inc. at the time) was formed to commercialize this research, which continued to maintain Sh leading to the currently released version. The people behind Sh felt strongly that the fruits of publicly-sponsored research should be open sourced. Our development has now shifted to be commercially based, and we are currently working on releasing the RapidMind Development Platform, which has roots in Sh but signifies significant leaps beyond it, such as more general-purpose applicability and support for non-GPU processors such as the Cell Broadband Engine.

We'd like to note that academics and hobbyists, as well as commercial developers, can obtain an evaluation version of the RapidMind Development Platform for non-commercial use with no particular technological limitations or time restrictions at no cost by signing up at the RapidMind website. As a company with its roots in open development, we continue to strongly believe in open standards and are actively evaluating our next steps towards an open standard based on our work on the RapidMind Development Platform.

At this point we are not actively continuing the development of Sh, as it is our responsibility to focus on building our commercial products. However, we encourage academics and open-source developers to continue to look into Sh as an open-source tool for GPU programming, as well as requesting an evaluation of our platform to experience an even easier and more performant way of programming multi-core processors such as GPUs and the Cell BE.

2006-02-16 The second release candidate for the upcoming Sh 0.8 is out!

It includes fixes for:

  • 64-bit operating systems
  • ATI GPUs
  • Visual Studio 2005
  • OS X

You can find the full release notes and changelog on the Sh Wiki.

Download Sh from the main download page or from the Source Forge project.

2005-11-09 The first release candidate for the upcoming Sh 0.8 is out! The goal of the 0.8 release is to be feature-complete and to commit to a stable ABI.

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
  • Andrew Lauritzen's optimizations for uniform update methods

We would like to see as many people as possible test this release in order to provide as stable a 0.8.0 release as we can. Once 0.8.0 has been released future 0.8.x versions of Sh will retain API/ABI compatibility and a new development branch, 0.9.x will begin for changes which break the API/ABI.

You can find the full release notes and changelog on the Sh Wiki.

Download Sh from the main download page or from the Source Forge project.

The Win32 dependencies have been updated to include some missing headers and libraries. You can get the new file from the downloads page.

2005-09-20 Sh got a wiki! Feel free to share your tips, code samples and ask questions to the Sh community. Right now we are in the process of migrating most of our documentation (FAQ, build instructions, book errata, etc.) to this collaborative editing tool, but you are more than welcome to suggest new sections and share your ideas with us.

We ask that you create an account on the Wiki before contributing to or editing any page (unrestricted anonymous access is now disabled due to Spam).

2005-08-01 Sh Version 0.7.9 is out. You can get it from the Downloads page either through one of Sourceforge's mirrors or through BitTorrent. The main new feature is mipmapping for ShTexture objects but several bug fixes and spec compliance work also got into this version.

OSX binaries and an Xcode framework are included in this release. See the ChangeLog for more details.

Shrike Version 0.7.9 is out. You can get it from the same Downloads page. You may use either Shmedia 0.7.8 or 0.7.9 as there were no changes in that package.

Please contact us through the mailing list if you encounter any problems with this release.

2005-06-16 Sh Version 0.7.8 is out. You can get it from the Downloads page. Aside from a few extra library functions and some OSX, Windows and ATI fixes, it includes an entirely new backend infrastructure to become closer to the Sh specification as published in Metaprogramming GPUs with Sh.

See the ChangeLog for more details.

Shrike Version 0.7.8 is out. You can get it from the same Downloads page. All shaders are now working on Windows and Linux. Please note that you should also get Shmedia 0.7.8 in order to have all the textures necessary for Shrike shaders.

The Windows build instructions (for both Sh and Shrike) have also been updated for Visual Studio .NET.

2005-04-21 Sh Version 0.7.7 is out. You can get it from the Downloads page. It includes several new features:
  • OpenGL Shading Language backend
  • Mac OS X 10.3.5 port
  • GCC 4.0 support
as well as some performance enhancements in stream programs and reduced compilation times.

See the ChangeLog for more details.

In other news, we have completed moving our mailing lists from Sourceforge to a server hosted by Serious Hack Inc. Those subscribed to the old announce and issues mailing lists were moved over to the other lists. If you were on the devel list you need to subscribe to devel or users or both yourself. New lists include the commits list with notifications from the Subversion repository and the Waterloo list for those local to the area. You can get access to all of the lists from http://lists.libsh.org/.

Older news items...


Copyright 2003-2006 RapidMind Inc.