Hi Dan,
Could your Houdini stuff interpret three chemicals as RGB for rendering?
Ready currently uses float4 by default (do Action > View Kernel on a formula rule in an image-based pattern like heat_equation.vti) in a block pattern of 4x1x1. This means that each kernel call works on 4 horizontal-neighboring cells at a time, for speed.
So inside the kernel, when you get the current block ( float4 a = a_in[i_here]; ) you could treat those four floats (a.x, a.y, a.z, a.w) as the RGBA values for a single cell and do the update based on those. To support this we'd need a way to render (e.g. mapping [0.0, 1.0] onto [0, 255]) a single chemical image as a color image at a smaller size (divided by the block size). For example, with a block size of 4x1x1, a single chemical image of 1024x256x1 would be rendered as a 256x256 color image.
Alternatively you could have four chemicals and then (a.x, b.x, c.x, d.x) would be your RGBA values for one cell. We'd need to add a way to render those four channels as a single color image (of the same size in this case).
The downside of both of these approaches is that the CA has to store its data in the RGBA colorspace. A more general approach might be to allow kernels to write char4 RGBA values directly into an output image, using an extra parameter to the kernel function. This would free up the CA to represent the data however it wanted, and would support any complex mapping you could imagine, defined by the user in the kernel code. It would also allow you to render e.g. Gray-Scott with whatever color mapping you fancy. I think we spoke about this idea once but making things look pretty has never been my focus with Ready.
Tim