== Getting it ==
Firtree can be downloaded as a source tar-ball (thanks to Tony for
pointing out this deficiency last time) and as a source or binary
package for Ubuntu. Your primary sources are therefore:
* The Firtree PPA[2] for Ubuntu Hardy.
* A Firtree source tar-ball[1] for Linux and OSX. It might work on
other Unices too.
== Changelog ==
The big things in this release are the playground example which is
similar to the Core Image Fun House application which ships with XCode
on OSX, an optional software-only backend based on libOSMesa and an
important bugfix to do with using swizzled vector types as lvalues.
* NEW: Added the Python-based 'playground' example which shows how to make a
generic filter-oriented image processing pipeline using Firtree.
* NEW: ImageAccumulator and friends are more picky about there being an
OpenGLContext 'current'. Slowly migrating all the examples over to 'best
practise' of making sure that a context is created, even if it is only a
NULL context.
* NEW: Added a software-only rendering backend based on libOSMesa. This
necessitated moving all the GL API entry points inside the OpenGLContext
structure. Hence there *must* always be a context current when Firtree
calls are made.
* BUG FIX: In the kernel language, 'foo.x' et al are all lvalues which can
be assigned to. The GLSL backend was translating swizzles in such a way
that assignment to them was in effect a NOP.
* API CHANGE: ImageProvders now have the semantic of 'creating' a
BitmapImageRep on demand, even if this only involves returning an internal
cached rep and incrementing its reference count. This brings it more into
line with Firtree's object ownership conventions.
* BUG FIX: ImageProviders have no way, currently, of signalling a 'dirty'
bit on their BitmapImageRep and so each time they are used we now copy the
image to the GPU. This is highly sub-optimal and a good signaling method
must be found but it does ensure that changing the bitmap returned by an
ImageProvider changes what ends up on screen.
* BUG FIX: Blob lengths were never being set internally.
* NEW: Added a skeleton API for converting pixel formats into the RGBA form
expected by Firtree. Currently only supports 8-bit luminance values.
* NEW: Long-standing feature need. When creating a kernel, syntax errors in
the kernel source now throw an exception including the error.
[1] https://launchpad.net/firtree/trunk/0.0.5/
[2] https://launchpad.net/~firtree/+archive
--
Dr Rich Wareham