![](/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) |
On 24-1-2012 20:06, Samuel Benge wrote:
> Other than height fields, mesh displacement and isosurfaces, I can't really
> think of too many other applications where 16-bit precision would be useful.
> Normals. The patterns themselves work well for texturing; you can get some
> really interesting cracked paint going. I do have this frosted glass idea I've
> kept in a box for years. Since it's winter, I should dig it back out :)
Yes, I guess those are the main features. I shall have to play with
those ideas and see where I end up...
> Oh yeah, there is a way, and I've even got some DF3 code (Warp's, IIRC) which
> would make things easier, but I'm not about to try it now. My queue is too full
> ATM ;) But if I /were/ to do something like that, I'd probably use a 3D array
> only to mark filled areas, and just generate cylinders or sphere_sweeps as it
> works itself out. No DF3 needed for that. The result would look like webs, or
> something, and could be displaced with functions...
That sounds interesting indeed.
>
>>> I'll try to post some stuff generated by the utility soon. Hopefully I won't get
>>> sidetracked like I usually do :)
>>
>> Very good! Nothing wrong with sidetracking though ;-)
>
> Not at all! But I've got so many things I have never posted, just lots of parts
> floating around on the HD. I keep telling myself I'll eventually assemble some
> of them into a scene, but there's always another interesting concept to explore
> :D
Excellent, Sam! Keep up the good work.
Thomas
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) |
Thomas de Groot <tenDOTlnDOTretniATtoorgedDOTt> wrote:
> On 24-1-2012 2:12, Samuel Benge wrote:
> > I'll try to post some stuff generated by the utility soon. Hopefully I won't get
> > sidetracked like I usually do :)
>
> Very good! Nothing wrong with sidetracking though ;-)
OK, here's one.
For this image, I took the output from strands.exe and expanded the height data
outward from its own density several times using a function similar to the
vector analysis stuff in math.inc, lowering the resulting value and recombining
it with the original image at each step (I finally found out how to perform this
process during an animation without producing a folder full of numbered images:
..bat files are created at each frame and called after each, in order to delete
and rename previous images). This "filled out" the original lines and eliminated
nasty artifacts without removing all of the smaller details. The height data
used throughout had a resolution of only 512x512 pixels, except for the texture
baking step which was twice that. The texture employed a 2D proximity pattern to
deepen the areas between the "roots," and fake subsurface scattering
(diffuse-occluding absorbing media) to help give it that living look. The HF was
copied nine times, so what you see is actually tiled, and repeats.
The water's meniscus was created by taking the height data at the water line,
making it white, and blurring it. The blurred image was simply mapped to a
watery plane and used in a normal block with a few tweaks. The interior of the
water uses absorbing media.
For both the proximity pattern and blurred height data, I used points created
with Fermat's spiral, which I've discovered produces better results for 2D
pattern blurring than other arrangements, and is more flexible.
The result is... kinda gross. Possibly more animal than plant :/
Post a reply to this message
Attachments:
Download 'tubers.jpg' (217 KB)
Preview of image 'tubers.jpg'
![tubers.jpg](/povray.binaries.images/attachment/%3Cweb.4f21ce0031e146109f4d10f90%40news.povray.org%3E/tubers.jpg?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) |
On 26-1-2012 23:04, Samuel Benge wrote:
> OK, here's one.
Oooooooh.....!
You really are a magician, Sam!
I am certain I do not follow half of your method but it shows me that
what I was dreaming of is really possible to achieve. I am literally
blown off my feet.
Thomas
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) |
On 26/01/12 23:04, Samuel Benge wrote:
> OK, here's one.
I almost fell off my chair... as usual.
> For this image, I took....
I did understand almost nothing... as usual. ;)
--
Jaime
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) |
"Samuel Benge" <stb### [at] hotmail com> wrote:
> The result is... kinda gross. Possibly more animal than plant :/
Awesome. Excellent meniscus technique too, I must remember that. It really makes
the image for me.
It's not really gross, either - looks just like those thick weeds you get in
slow-moving rivers, but tubular.
Bill
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) |
On 27/01/12 09:05, Bill Pragnell wrote:
> "Samuel Benge"<stb### [at] hotmail com> wrote:
>> The result is... kinda gross. Possibly more animal than plant :/
>
> It's not really gross, either - looks just like those thick weeds you get in
> slow-moving rivers, but tubular.
>
To me it looks more like soaked yarns:
http://www.christynelson.net/wp-content/uploads/2011/03/purple-yarn.jpg
--
Jaime
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) |
"Samuel Benge" <stb### [at] hotmail com> wrote:
> The result is... kinda gross. Possibly more animal than plant :/
Reminds me of Cthulhu.
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) |
On 01/27/2012 02:53 AM, Thomas de Groot wrote:
> On 26-1-2012 23:04, Samuel Benge wrote:
>> OK, here's one.
>
> Oooooooh.....!
>
> You really are a magician, Sam!
LOL ... yes we're not worthy ;-) Nice job Sam!
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) |
Samuel Benge wrote:
> For this image
... very cool image ...
> I took the output from strands.exe and
... with almost incomprehensible explanation ... ;)
Did I understand correctly that you used povray animation
to implement an iterative 2d filter for thickening the strands
in the height field produces by your strands.exe tool?
> fake subsurface scattering (diffuse-occluding absorbing media)
Sounds interesting, how does it work?
> The water's meniscus
Nice trick ;) Did you compare it to simply rendering the height
data near the water line as water? I suppose the blurring makes
it smoother to give a curved appearance.
> For both the proximity pattern and blurred height data, I used points
> created with Fermat's spiral
Is your proximity pattern sampling in 2d? Or do you generate
points on a sphere for tracing the surface of a 3d object?
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) |
Thanks for the replies, everyone!
Christian Froeschlin <chr### [at] chrfr de> wrote:
> Samuel Benge wrote:
>
> > I took the output from strands.exe and
>
> ... with almost incomprehensible explanation ... ;)
It's what I do ;)
Let me try again... If you've ever taken a look at the vector analysis macros in
math.inc, you'll have an idea how it works. Those macros pretty much allow you
to determine a gradient's normal or even its falloff rate at any point. When
applied to a function, a variety of effects can be achieved. Since it's better
explained as code, here's the basic setup for pushing a pattern away from
itself:
#declare PixelSize = 1/image_width;
#declare Accuracy = 2*PixelSize;
#declare Amount = 8.0;
FPgmt(
x+2*Amount*PixelSize*(FPgmt(x+Accuracy,y,0)-FPgmt(x-Accuracy,y,0)),
y+2*Amount*PixelSize*(FPgmt(x,y+Accuracy,0)-FPgmt(x,y-Accuracy,0)),
0
)
As you can imagine, using five samples quickly becomes expensive if applied
again and again to a function in a single render, which is why I iterate over
pre-rendered data instead.
> Did I understand correctly that you used povray animation
> to implement an iterative 2d filter for thickening the strands
> in the height field produces by your strands.exe tool?
Yep. Same thing I've been doing for a while now, but without all the useless
images stealing HD space :D
> > fake subsurface scattering (diffuse-occluding absorbing media)
>
> Sounds interesting, how does it work?
Absorbing media from one object occludes the diffuse reflection of another:
sphere{
0, 1
pigment{rgb 1}
finish{brilliance 0}
double_illuminate
no_shadow
hollow
}
sphere{
0, 1.001
pigment{rgbt 1}
interior{
media{
absorption 4
}
}
hollow
}
It renders very quickly, but generally doesn't look too great unless big
area_lights are used, which obviously doesn't work for all scenes. There's
probably some light_group trickery that would allow for more flexibility, but I
haven't tried anything along those lines yet. It doesn't play well with
radiosity. And there's also the fact that it requires two objects, one shifted
outward from the other. This makes the technique difficult to use for complex
objects :(
> > The water's meniscus
>
> Nice trick ;) Did you compare it to simply rendering the height
> data near the water line as water? I suppose the blurring makes
> it smoother to give a curved appearance.
I think I've tried that before by placing the height data into an object
pigment, putting that into a normal block, and giving it a highish accuracy. But
the effect just wasn't as nice.
> > For both the proximity pattern and blurred height data, I used points
> > created with Fermat's spiral
>
> Is your proximity pattern sampling in 2d? Or do you generate
> points on a sphere for tracing the surface of a 3d object?
It starts with a sharp, black/white plane function. This is displaced using
height data to make a "height field" function. It is then blurred in 2D (using a
2D point set) and reverse-displaced to make it flat once again. A planar warp is
then applied to make it infinite along the z-axis.
I'll be releasing some new proximity patterns soon, and the 2D version will be
among them so you'll be able to see how it works.
Sam
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) |