0.8.0rc0 Release Notes

From ShWiki

(Difference between revisions)
Revision as of 21:59, 9 November 2005
Francois (Talk | contribs)

← Previous diff
Revision as of 22:07, 9 November 2005
Francois (Talk | contribs)
Link to some known issues
Next diff →
Line 33: Line 33:
Remaining known issues: Remaining known issues:
-* build problems with 64-bit machines+* [http://issues.libsh.org/issue235 build problems with 64-bit machines]
* build problems on OS X * build problems on OS X
* not all unit tests pass on ATI cards * not all unit tests pass on ATI cards
-* texture filtering on the cc backend (the 'tex' unit testing will fail)+* texture filtering on the cc backend (the [http://issues.libsh.org/issue197 <tt>tex</tt> unit testing will fail])
The first three will be fixed before 0.8.0 but if you depend on the last one, please get in touch with us as it is not planned for this release. The first three will be fixed before 0.8.0 but if you depend on the last one, please get in touch with us as it is not planned for this release.

Revision as of 22:07, 9 November 2005

Codename: Andechs

This is the first release candidate for the upcoming Sh 0.8. The goal of the 0.8 release is to be feature-complete and to commit to a stable ABI.

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.

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 (it was already available on arb)
  • nibbles for all library functions
  • new iterators in ShProgram to walk through all uniforms (including recursively dependent ones): begin_all_parameters() and end_all_parameters()

Three new control flow statements have been added: SH_RETURN, SH_BREAK and SH_CONTINUE. Also, there is a number of new library functions:

  • atan()
  • bezier()
  • ShProgram::describe_bindings()
  • bernstein<N>() -- dummy function for N != 4
  • hermite() -- dummy function
  • noise, linnoise, slinnnoise, snoise -- dummy functions
  • texhash -- dummy function

(Our plan is to finish implementing the dummy functions in point releases after 0.8.0 is out.)

We are also happy to release several optimizations to the uniform update methods (arb and glsl backends) thanks to Andrew Lauritzen.

Some changes may require users to modify their code as the API was changed slightly:

  • ShImage::loadPNG(filename) has moved out of ShImage to ShUtil::load_PNG(image, filename) in order to move the libpng dependency to ShUtil instead of the core.
  • Reversed the parameters of atan2() to match C++ and Python order.
  • smoothstep() now uses cubic interpolation. The old smoothstep function is now called linstep().
  • renamed all iterators in ShProgram and ShProgramNode to match the book. For example, uniforms_begin() has become begin_parameters() and inputs_end() has become end_inputs().

Finally, this release addresses several bugs including sign() on arb, mipmap levels rebuilding and do..until loops in arb fragment programs.

Remaining known issues:

The first three will be fixed before 0.8.0 but if you depend on the last one, please get in touch with us as it is not planned for this release.

For more information on Sh and how to install and build it, visit the Sh Wiki.

Of course, you can always use the libsh-users mailing list to ask questions and read what other users have to say about Sh.

--Francois 16:59, 9 November 2005 (EST)