|
|
Is there any way to regionally control the values chosen in the {crackle
solid} pattern?
What I want to do is control an isosurface that is based on crackle, by
modulating it by something like
{ crackle solid colour_map { [.5 rgb 0][.5 rgb 1] } }
So that each individual "object" in my isosurface either exists or doesnt.
The problem is, crackle solid is totally random, so I can't influence it to
create a region of my objects.
By way of a specific example: I've made a popcorn isosurface, where each
popcorn kernel is based on a lump in the crackle pattern. Normally to
localise an effect like this I'd just ramp it down towards the edge, but
this makes it look like the popcorn's shrinking and it doesn't make sense to
have small levitating peices of popcorn floating at the top of a bucket
full.
So what I want to do is have a crackle solid pattern where I can make it so
all the solid crackle cells above a certain height are black, or something
like that.
The only way I can see to do it is to write my own very lengthy version of
the crackle pattern as a function and then create the corresponding solid
pattern with the extra control that I desire. But can anyone see a better
way to do it?
--
Tek
http://evilsuperbrain.com
Post a reply to this message
|
|
|
|
Okay I have one idea, that I still think is impossible, but it might help
some of you understand what I'm trying to do.
Lets say I have a controlling function, like a gradient on y; what I want is
for each cell in the crackle pattern to recieve 1 value sampled from that
gradient. So essentially I want a pattern that I can use in a function that
samples the controlling function (my gradient) at the middle of each cell
and uses that value over the whole cell.
So it would look like crackle solid, but instead of random shades they would
be chosen from a controlling function.
It is possible to write a function that samples a pattern at a different
point like turbulence, but how can it know where center of the current cell
is? (i.e. for any given point I need the location of the nearest crackle
point, since crackle's based on randomly places points).
--
Tek
http://evilsuperbrain.com
"Tek" <tek### [at] evilsuperbraincom> wrote in message
news:4529419e@news.povray.org...
> Is there any way to regionally control the values chosen in the {crackle
> solid} pattern?
>
> What I want to do is control an isosurface that is based on crackle, by
> modulating it by something like
> { crackle solid colour_map { [.5 rgb 0][.5 rgb 1] } }
> So that each individual "object" in my isosurface either exists or doesnt.
>
> The problem is, crackle solid is totally random, so I can't influence it
> to create a region of my objects.
>
> By way of a specific example: I've made a popcorn isosurface, where each
> popcorn kernel is based on a lump in the crackle pattern. Normally to
> localise an effect like this I'd just ramp it down towards the edge, but
> this makes it look like the popcorn's shrinking and it doesn't make sense
> to have small levitating peices of popcorn floating at the top of a bucket
> full.
>
> So what I want to do is have a crackle solid pattern where I can make it
> so all the solid crackle cells above a certain height are black, or
> something like that.
>
> The only way I can see to do it is to write my own very lengthy version of
> the crackle pattern as a function and then create the corresponding solid
> pattern with the extra control that I desire. But can anyone see a better
> way to do it?
>
> --
> Tek
> http://evilsuperbrain.com
>
>
Post a reply to this message
|
|