Sh

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

Older Sh News

For the latest news, see the homepage.

2005-03-08

I am very pleased to announce that the latest Subversion trunk of Sh now supports the OpenGL Shading Language as a backend. This means that in addition to generating ARB_fragment/vertex_program code on OpenGL, Sh can now easily generate GLSL code and compile/link/bind it at runtime. This allows you to take advantage of optimizations performed by the driver, as well as allowing portability to graphics cards where functionality not available in the ARB extensions is available through the OpenGL Shading Language. Most of the credit for this work goes to Francois Marier, one of the new employees at Serious Hack Inc., a startup company devoted to supporting Sh and building Sh-related components.

This backend will be officially released in Sh 0.7.7. Other features to come include several bugfixes as well as improved half-float support on NVIDIA cards. If you want to get a sneak peek, you can download the development version via anonymous SVN.

2005-02-22

A list of Frequently Asked Questions (and answers) has been added. Let us know if you think we're missing anything!

A sample chapter from the upcoming GPU Gems 2 book has been made available called Per-pixel Displacement with Distance Functions. The technique, invented by William Donnelly from the University of Waterloo, was implemented using Sh. All of the screenshots in the chapter were made using the Sh version, and the demo (supplied with the book) was also implemented using Sh.

2005-01-24 Sh Version 0.7.6 is out. You can get it from the Downloads page. It includes several new features:
  • type support
  • new "opengl:state" metatag
  • Sh Control flow in immediate mode
as well as some important bug fixes including a bug in the most recent NVIDIA drivers on Windows and Linux related to vertex program branching.

See the ChangeLog for more details.

2004-12-13

If you're experiencing bad performance with Sh under Linux using NVIDIA cards with the 6629 drivers, please see this e-mail by Bryan Chan. In short, the issues are due to a performance regression in the NVIDIA drivers combined with an unnecessary branch statement generated by the Sh GL backend. The latest Subversion trunk has the fix, and the e-mail linked above includes a patch for 0.7.5.

Hopefully we can release 0.7.6 soon, although things are a little busy right now and we still have a few regressions. This release will be a major step up though, as it features arbitrary types thanks to Bryan Chan's excellent work.

2004-11-05

Sh Version 0.7.5 is out. You can get it from the Downloads page. New features include support for vertex parameter arrays (palettes) and stream support both for CPU and GPU backends under Windows. Many bugs have been squashed, gcc 3.4 support added, and memory leaks removed.

2004-10-19

A set of pages with detailed instructions for building Sh on Win32 are now available.

2004-10-18

Sh Version 0.7.4 is out, go grab it while it's hot! The new features are mentioned in the previous news item. Enjoy.

2004-10-10

It's been over two months, but a new release is scheduled for next week. The biggest change in this release is a total rewrite of the optimizer. This includes improvements to the existing optimizations as well as the addition of constant propagation and uniform lifting, two new optimizations. There are also, as always, numerous bug fixes, performance improvements, added library functions and other new features. The regression test suite has been rewritten as well, and the Windows port vastly improved (thanks primarily to Kevin Moule), including good build instructions for a variety of compilers and environments. Keep your eyes open!

In other news, we were recently mentioned on Slashdot with a book review of the introduction and reference manual.

And just to wet your appetite a little more, I should mention some of the work going on in branches, that will probably make it into 0.7.5. Bryan Chan is working hard on adding arbitrary type support to Sh, which includes support for half-floats and interval types. Evan Wies has generously contributed a Mac OS X port, which we are hoping to merge into the trunk soon. Work is ongoing in adding virtualization to Sh so that Sh programs are no longer limited by instruction set limits, texture lookups etc. Sh's stream abstractions are also being extended significantly.

2004-08-05

Sh version 0.7.2 has been released. This release includes a number of bug fixes and API enhancements. This release also supports most of the features available in the the latest generation of GPUs, such as texture lookups at the vertex level and data dependant control constructs at the fragment level.

A Win32 port has been completed for this release. The build environment is still a bit rough around the edges but will be cleaned up for future releases. Documentation for building under Win32 will also be released shortly. For the time being, precompiled versions of libsh and shrike have been made available. Due to issues with the 0.7.2 Win32 release, a new release, labeled 0.7.3, has been made for the Win32 side.

The Windows-related files available are:

libsh-win32-0.7.3.zip This package contains the precompiled Sh dlls and the associated headers files.
shrike-full-hdr-win32-0.7.3.zip This package contains the shrike binaries and the full shmedia packages, including the large HDR images.
shrike-full-win32-0.7.3.zip This package contains the shrike binaries and the shmedia package without the HDR images.
shrike-win32-0.7.3.zip This packages contains only the shrike binaries and assumes you have downloaded the shmedia package separately.

As usual, see the Download page for other download instructions.

2004-07-17

A new release is just around the corner. In the mean time, Michael McCool wrote an article about Sh on Gamasutra. The book is now available for preorder directly from AK Peters or from retailers such as Amazon and Barnes and Noble.

To wet your appetite, the new release will feature support for the new ARB fragment and vertex program extensions provided by NVIDIA, as well as numerous bug fixes and API improvements. This means that, given a suitable graphics card, you will be able to run Sh programs with data dependent control constructs (loops and branches) completely on the GPU!

We will also be announcing a shader-writing contest soon. Stay tuned!

2004-06-14

Sh version 0.7.1 has been released. This includes a number of bug fixes, and more shaders to play with in Shrike. We've been busy getting the book into shape, but now that that's pretty much done we're working hard on improving Sh itself to get it ready for a "beta" release.

The reference manual describes Sh as we want it to look like for the beta release, and thus many changes will be made before August. Many of these are fairly small though and all aim to make Sh more useable and robust. Once we are happy with the result we will release version 0.8.0, which will include an API freeze on the 0.8 branch. In the mean time we will make releases of the 0.7 branch as work progresses.

2004-05-01

We will be publishing a book called Metaprogramming GPUs with Sh through AK Peters, Ltd. The book is due to be released in August 2004, and will include about 350 pages containing a reference manual, several worked-through examples, applications and techniques as well as an engineering part describing how the Sh compiler was built. In the mean time, a draft of the reference manual only is available on-line as several HTML files.

Furthermore a paper on Shader Algebra using Sh will be published in SIGGRAPH 2004! You can obtain this paper from our documentation page.

2004-03-22 A new version of libsh has been released. You'll also find a new program called Shrike there, replacing both smashtest and shdemo.
This release fixes many issues with Sh. Most importantly, textures are now managed well, only copying to and from the GPU when needed. The release also includes some major syntactical convenience, such as InOut types and the ability to read from outputs/write to inputs thanks to Bryan Chan. Furthermore, Kevin Moule has contributed a CPU backend that compiles Sh code to C code, runs it through gcc and links it in to run stream programs. We're getting close to a "beta" release, which will be the focus of the next few weeks.
2004-02-11 New versions of smashtest and shdemo (as well as shmedia) have been released. As you may have noticed, we've also added some shaders, a downloads page and a (still incomplete) people page.
Currently Sh's texture management internals are being rewritten (and the rewrite is almost complete). This should make using textures far more efficient which eliminates the only real show-stopper left in using Sh for real applications.
2004-02-02 A new release of libsh is available from the files page. This release includes many bug fixes, as well as improved Shader Algebra support and some support for general-purpose GPU programs using streams.
2003-08-25 Two new releases are available from the files page. One is a new release of libsh with some minor internal improvements and bug fixes. The second is the first release of the smashtest testing application for Sh shaders. It's a little more robust than shdemo at this point, especially under sm. Enjoy!
2003-08-20 Version 0.0.20030820 of libsh has been released and is available at the files page! This is an exciting release as it includes the beginnings of an optimizer, which already drastically improves the quality of the generated code.
2003-08-07 Finally, some Sh demos have been released. These were written primarily by Filip Spacek. Grab them (and shmedia!) from the files page! I will be updating the Shaders page soon to include them.
2003-08-07 The shmedia package, containing some media for demos has been uploaded and can be accessed from the files page.
2003-08-07 The API documentation, generated by Doxygen, which is still somewhat incomplete, is now available.
2003-08-04 To fix a small bug in the SM build system, a new version of SM was released. It is available from the files page.
2003-07-23 The first (very much alpha) version of Sh is available for download! The mailing lists are also available now.
2003-07-17 The Sh Website and Sourceforge project are up. The release is quite near, and screenshots and shaders should be coming up soon! In the mean time you might want to read the About page.

Copyright 2003-2010 Intel Corporation.