noise generators (forked from: Krita user community?)

Boudewijn Rempt boud at
Mon Feb 25 19:39:44 CET 2008

On Monday 25 February 2008, Matthew Woehlke wrote:

> Basically, any generator filter (and *especially* something like
> Apophysis that is extremely slow) lends itself to a render-once model
> whereafter it is treated like a normal paint layer, but with the
> advantage that you can go back, adjust the parameters, and re-render
> (and of course change the composition mode at any time). Maybe there is
> already a model for this?

Not yet, but it's no more than an evening's work to add a node type that can 
take a generator, some input parameters and an explicit "regenerate" action, 
as long as we generate just pixels in some sane color model. 

> I think I would still, eventually, like to see a "fractal" layer type,
> that consists of one or two channels of scalar data (64-bit FP as at
> least one option), plus a filter function (per channel?), plus a color
> mapping. Perlin, plasma, and Apophysis, as well as any future procedural
> generators, could all be used as front-ends for the channel data. The
> first channel would be gradient-mapped, the second (if present) used as
> an alpha channel.

That would be a little harder, but not much. We'd need to:

* add a color model that contains the 2 channels
* add a plugin type that exposes a generate data function and a colormapping 
* add a node type that contains that plugin, a source paint device in the 2 
channel color model and a projection in a regular color model
* add a layer properties dialog that allows setting the data for both 
functions in the plugin and has a regenerate button

The color mapping could be called in the updateProjection, and so be dynamic, 
or not (setting determined by the plugin),  the generate function would be 
explicitly called by user action.

Two evenings for the framework; then you'd have to write the plugin :-)
* call the color mapping function in updateProjection.

Boudewijn Rempt

More information about the kimageshop mailing list