![]() Depending on how interesting that is, possibly also for the points in a Brownian walk. Ideally we should be able to import saved settings from some popular IFS programs. The "traditional" flame as in Apophysis and GIMP, and as demonstrated in the X screensaver by the same name. (In fact, I don't know the algorithm it uses, it might even be the same as de Jong.) It may be desirable to combine this with de Jong and include other algorithms. #Krita layers codeIt has been written without any consultation of the fyre code (just observation and knowledge of the above formula).Īnother flame similar to de Jong. Mwoehlke has code for this as a stand-alone Qt sample program for the non-transient case. Smoothing is assigned by a process that essentially accumulates "antialiased points", which achieves a similar result to oversampling with less time and memory penalty. Also the options for transient (initial point, shape to map, number of iterations to run). Parameters are of course the constants A, B, C, D. zoom, pan, rotation).Ī basic flame using Peter de Jong's map, as implemented in fyre: In other words, this simulates diffusion of a liquid/gas inside of another liquid/gas.Īll flames have parameters controlling the camera (i.e. Each iteration performs a number of Brownian iterations proportional to density for all pixels with a density above a certain threshold. The seed is one or more points of super-density. Similar to Brownian, but without history. Parameters include wavelength, number of initial sources, and minimum/maximum age. Mwoehlke has code for this as a stand-alone Qt sample program.Ī basic wave-reflection generator. Parameters could be initial seed, duration, stride length, stride length bias function, number of starting points, gravity (linear, towards-center) and edge behavior (none, wrap, reflect). All that is needed is to port this to a Krita framework.īasically, a random walk, with density-based color mapping similar to the flames. Mwoehlke has code for this as a stand-alone Qt sample program. (An interesting effect is to use a low jitter and damping > 1, which gives something resembling halftoned clouds.) High values for phase (especially around 1.5 and above) tend to give a "stucco", or "quantized" look to the result. Low values for damping result in smoother output, while high values give more effect to later octaves. The initial value for each midpoint (before adding jitter) is a weighted average of the values of the two points being interpolated modified by the phase. Successive midpoints are interpolated adding a random jitter in amount equal to the "octave strength", which is the jitter times ]. phase: controls the amount of random offset added to midpoints.īasically, how this works, an initial grid (the first octave) is laid down.jitter, damping: control the strength of higher octaves.Generates cloud-like noise somewhat similar to Perlin noise, using frequency and three parameters that control the "look": Introduce other parametric noise generators? (e.g.Introduce octave blending modes, a la Bryce?.as a generator, and not as a filter), as it doesn't need to be a filter (remembering that a "filter" does something beyond simple layer compositing with the layer below). From talking with Cyrille, it seems it would be nice for the filter from 1.6 to reappear here (i.e. Generates Perlin noise, according to requested frequency and octaves. #Krita layers generatorGaussian, the latter of which tends to make "higher contrast" noise, however we shouldn't do anything that does not differ significantly from the generator plus a simple filter, e.g. Use blending modes and layer opacity to control how noise interacts with other layers.Ĭonfiguration, if any other than random seed, would consist of a noise-generating algorithm to use (e.g. Generates purely random data in a single channel (probably i16). (Maybe this should be implemented with Flake shapes instead?) Ideal would be to specify type (linear, radial, conic, etc.) and relevant control points. ![]() Produces a gradient, which may include alpha as well as color values. ![]() No parameters other than the color use blending modes and layer opacity as needed. Ideally, should be able to specify the color in any color space. They cannot be painted on directly.įilters, conversely, either perform operations on the input pixels that are not covered by basic blending modes, or are "convolution-like", which is to say that the output for a particular pixel depends on the input values of pixels without a one-to-one correspondence (usually a many-to-one relation, which is effectively the same as many-to-many, though some - such as pixelize - may be one-to-many). They are similar to filter layers, except that they do not use any layer/channel input (though they can be blended like normal layers). ![]() Generator layers are layers that generate channel data from parameters, instead of raw painted data. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |