| 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:
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.
|