|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
stbenge <THI### [at] hotmailcom> wrote:
> currently impossible to use any proximity patterns with meshes. That's
> right, impossible!
What are proximity patterns? Is it like AO or radiosity?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Trevor G Quayle" <Tin### [at] hotmailcom> schreef in bericht
news:web.493594d862d2e22181c811d20@news.povray.org...
>
> A *quick* render. I have made it very shiny!
>
LOL
Now let that baby ROAR....
(and black smoke, please....) :-)
Thomas
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
nemesis wrote:
> stbenge <THI### [at] hotmailcom> wrote:
>> currently impossible to use any proximity patterns with meshes. That's
>> right, impossible!
>
> What are proximity patterns? Is it like AO or radiosity?
I'm not sure if the term "proximity pattern" ever existed before
MegaPOV. I remember seeing it a long time ago as a new feature, but
never got to play with it.
Basically a proximity pattern is like a gradient indicating the distance
from a surface in 3D space. Imagine making an object pattern from some
object and applying a 3D blur to it. What you get is a fuzzy
representation of your object, but in pattern form. As a special bonus,
the inside edges and vacations end up black, the outside edges and
protrusions end up white, and all the flat parts in between end up a
gray color.
I have created two versions which I use for different things. I have
released one of them bundled with the fastSSS macros, but I think I will
release another include with just the proximity macros.
Sam
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
stbenge wrote:
> The biggest reason I didn't model this as a mesh is because it's
> currently impossible to use any proximity patterns with meshes.
you never know when a wax tractor might come in handy ;)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
stbenge wrote:
> Basically a proximity pattern is like a gradient indicating the distance
> from a surface in 3D space. Imagine making an object pattern from some
> object and applying a 3D blur to it. What you get is a fuzzy
> representation of your object, but in pattern form. As a special bonus,
> the inside edges and vacations end up black, the outside edges and
> protrusions end up white, and all the flat parts in between end up a
> gray color.
Sounds like AO. The occlusion effect is likewise achieved by taking
into account surrounding geometry, not angle of incidence or position of
light sources. Your image looks very AO like.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
stbenge <THI### [at] hotmailcom> wrote:
> They are manually rounded off using cylinders, torii and spheres.
> There's an object pattern trick for making edges look rounded using
> surface normals, but it doesn't work too well with most objects.
Gosh. I did that with a piano a few years back. It was a *lot* of work and it
wasn't nearly this complex. That's very impressive.
- Ricky
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
nemesis wrote:
> stbenge wrote:
>> Basically a proximity pattern is like a gradient indicating the
>> distance from a surface in 3D space. Imagine making an object pattern
>> from some object and applying a 3D blur to it. What you get is a fuzzy
>> representation of your object, but in pattern form. As a special
>> bonus, the inside edges and vacations end up black, the outside edges
>> and protrusions end up white, and all the flat parts in between end up
>> a gray color.
>
> Sounds like AO. The occlusion effect is likewise achieved by taking
> into account surrounding geometry, not angle of incidence or position of
> light sources. Your image looks very AO like.
AO and proximity patterns give different results. Proximity patterns can
give you access to *outside* edge data as well as inside edge data. AO
just makes inside edges dark. Proximity patterns also make thin objects
lighter in color, and thicker ones slightly darker. When I combine my
proximity macros, I'll post examples to this group so you can see for
yourself how it looks.
Sam
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
triple_r wrote:
> Gosh. I did that with a piano a few years back. It was a *lot* of work and it
> wasn't nearly this complex. That's very impressive.
It's time consuming, that's for sure :/
Sam
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
stbenge <THI### [at] hotmailcom> wrote:
>
> The biggest reason I didn't model this as a mesh is because it's
> currently impossible to use any proximity patterns with meshes. That's
> right, impossible! Actually, if somebody can figure out how to get a
> proximity pattern working with meshes, I would really appreciate it :)
Just write your own inside() function. I gave it a go with the following, and it
seems to work pretty well. It should really be improved with the equivalent of
an inside_vector, so you can usefully use it with open meshes, but it's OK for
a quick attempt.
#macro inside_m( obj, pos )
#local current = pos;
#local dir = x;
#local done = 0;
#local num = 0;
#while ( done != 1 )
#local norm = <0,0,0>;
#local inter = trace( obj, current, dir, norm );
#if ( vlength( norm ) != 0 )
#local num = num + 1;
#local current = inter + <0.0001,0,0>;
#else
#local done = 1;
#end
#end
(mod( num, 2 ) = 1)
#end
Cheers,
Edouard.
Post a reply to this message
Attachments:
Download 'fastprox_bunny.jpg' (19 KB)
Preview of image 'fastprox_bunny.jpg'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Edouard Poor" <pov### [at] edouardinfo> wrote:
> stbenge <THI### [at] hotmailcom> wrote:
> >
> > The biggest reason I didn't model this as a mesh is because it's
> > currently impossible to use any proximity patterns with meshes. That's
> > right, impossible! Actually, if somebody can figure out how to get a
> > proximity pattern working with meshes, I would really appreciate it :)
>
> Just write your own inside() function. I gave it a go with the following, and it
> seems to work pretty well. It should really be improved with the equivalent of
> an inside_vector, so you can usefully use it with open meshes, but it's OK for
> a quick attempt.
>
> #macro inside_m( obj, pos )
> #local current = pos;
> #local dir = x;
> #local done = 0;
> #local num = 0;
> #while ( done != 1 )
> #local norm = <0,0,0>;
> #local inter = trace( obj, current, dir, norm );
> #if ( vlength( norm ) != 0 )
> #local num = num + 1;
> #local current = inter + <0.0001,0,0>;
> #else
> #local done = 1;
> #end
> #end
> (mod( num, 2 ) = 1)
> #end
>
> Cheers,
> Edouard.
Forgive me for being slow as usual, but could you could help me understand your
macro?
I suppose you could used the inside test to fill up the inside of a mesh with
cubes to make CSG approximation of a mesh shape--but that doesn't appear to be
what you did.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |