![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I created a 3d grid of blob components using nested #while loops. The radius of each
blob
component relates to the greyscale value of a bozo pigment occupying the same points
in space,
which I sampled by using eval_pigment().
This is part of an animation (in which the bozo pigment is rotated prior to sampling
independently of the blob-grid's rotation).
I wasn't prepared for parse time to evaluate 8000 components. Any reason for it taking
so
long? (approx 1 minute.. not forever, I know, but I just assumed it would be a really
quick
operation)
All the best,
Andy Cocker
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Doh!! And here's the image.
"Andrew Cocker" <mai### [at] mariner9 net> wrote in message
news:3d5e7cf4$1@news.povray.org...
> I created a 3d grid of blob components using nested #while loops. The radius of each
blob
> component relates to the greyscale value of a bozo pigment occupying the same points
in
space,
> which I sampled by using eval_pigment().
>
> This is part of an animation (in which the bozo pigment is rotated prior to sampling
> independently of the blob-grid's rotation).
>
> I wasn't prepared for parse time to evaluate 8000 components. Any reason for it
taking so
> long? (approx 1 minute.. not forever, I know, but I just assumed it would be a
really quick
> operation)
>
> All the best,
>
> Andy Cocker
>
>
Post a reply to this message
Attachments:
Download 'EvalPigment Test_BLOB001.jpg' (41 KB)
Preview of image 'EvalPigment Test_BLOB001.jpg'
![EvalPigment Test_BLOB001.jpg](/povray.binaries.images/attachment/%3C3d5e7d26%40news.povray.org%3E/EvalPigment%20Test_BLOB001.jpg?ttop=443840&toff=8900&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Andrew Cocker" <mai### [at] mariner9 net> schrieb im Newsbeitrag
news:3d5e7cf4$1@news.povray.org...
> I created a 3d grid of blob components using nested #while loops. The
radius of each blob
> component relates to the greyscale value of a bozo pigment occupying the
same points in space,
> which I sampled by using eval_pigment().
>
> This is part of an animation (in which the bozo pigment is rotated prior
to sampling
> independently of the blob-grid's rotation).
>
> I wasn't prepared for parse time to evaluate 8000 components. Any reason
for it taking so
> long? (approx 1 minute.. not forever, I know, but I just assumed it would
be a really quick
> operation)
You really should try ABX's suggestion using functions. The way you use
(with eval_pigment) bears much overhead for what you want. You only need the
pattern and you can get that by using a function.
I like your idea and hope you'll get somewhere. However, I fear it's quite
memory intensive to have all the blades of a grass plane as extra shapes
(without copying patches), I hope, I'm wrong.
Regards,
Marc-Hendrik
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3d5e7cf4$1@news.povray.org>,
"Andrew Cocker" <mai### [at] mariner9 net> wrote:
> I created a 3d grid of blob components using nested #while loops. The
> radius of each blob component relates to the greyscale value of a
> bozo pigment occupying the same points in space, which I sampled by
> using eval_pigment().
Reminds me of some macros I made once to create a blob from any object.
I used the eval_pattern() patch to evaluate an object pattern, for 3.5 I
would use a the inside() function or allow any user-defined function to
be used.
> I wasn't prepared for parse time to evaluate 8000 components. Any
> reason for it taking so long? (approx 1 minute.. not forever, I know,
> but I just assumed it would be a really quick operation)
Parsing is slow. The POV-Ray parser just wasn't designed to do this sort
of stuff quickly, that's why it is often easier to do things in an
external program, especially for complex particle systems or tree
generators. You're lucky it was so short...I've had hour long parses
before.
--
Christopher James Huff <cja### [at] earthlink net>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tag povray org
http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Marc-Hendrik Bremer" <Mar### [at] t-online de> wrote in message
news:3d5eac7f@news.povray.org...
> You really should try ABX's suggestion using functions. The way you use
> (with eval_pigment) bears much overhead for what you want. You only need the
> pattern and you can get that by using a function.
Thankyou for telling me to use ABX's suggestion... I wouldn't have experimented
further since
I had got it to work OK, and I am somewhat scared of using functions, as I don't
really
understand them, but I've just modified my code to sample a bozo function, and the
difference
is incredible!! Parse time has gone from 57 seconds to just 1 second!!
Thanks again. ;-)
> I like your idea and hope you'll get somewhere. However, I fear it's quite
> memory intensive to have all the blades of a grass plane as extra shapes
> (without copying patches), I hope, I'm wrong.
Yes, I think so too, but I just wanted to see if I could get it to work. It may well
end up
being effectively unusable due to memory overheads though. Actually, thinking about
it, you
could sample once per area of grass, rather than patch, which might still end up
looking ok.
All the best,
Andy Cocker
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |