|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
clipka <ano### [at] anonymousorg> wrote:
> > "the idea" is very simple, I would like to animate some visible, emissive media
> > objects such that they move through other, not directly seen (contained) media.
> > the effect I'm after is that the additive effect of the differently coloured
> > media when intersecting should reveal the outline of the "hidden" objects
> > through the colour change(s).
No coffee yet...
Just to clarify - is anything visible while not intersecting, or do the rods
simply change color in the region where they intersect the invisible object?
You could define a separate container for the intersection color media by doing
an actual intersection {} with the rods and the invisible object.
If you define the container for the "normal" media as the difference {} of the
object from the rods, then I think you'll have what you want.
And those would be the only actual objects declared in the scene, made visible
by the intersection {} and difference {} directives. Let's borrow from real
photography and call the #declares for the rods and invisible region "latent
objects".
I think you could then even scale the intersection by something near
(1-0.000001) to minimize coincident surfaces, if that's a problem. It won't be
perfect - you'd to do an offset-curve to do that properly...
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 06/17/2018 09:12 PM, jr wrote:
>
> "the idea" is very simple, I would like to animate some visible, emissive media
> objects such that they move through other, not directly seen (contained) media.
> the effect I'm after is that the additive effect of the differently coloured
> media when intersecting should reveal the outline of the "hidden" objects
> through the colour change(s).
>
>
With v3.8 user_defined{} density is an option. The scene below does
something close to what you want - I think.
Bill P.
//------------------------------------------
#version 3.8;
global_settings { assumed_gamma 1 }
#default { finish {ambient 0.000 } }
#declare Grey20 = srgb <0.2,0.2,0.2>;
background { color Grey20 }
#declare Camera00 = camera {
perspective
location <3,3,-3.001>
sky y
angle 35
right x*(image_width/image_height)
look_at <0,0,0>
}
#declare White = srgb <1,1,1>;
#declare Light00 = light_source { <50,150,-250>, White }
#declare Red = srgb <1,0,0>;
#declare CylinderX = cylinder { -1*x, 1*x, 0.01 pigment { Red } }
#declare Green = srgb <0,1,0>;
#declare CylinderY = cylinder { -1*y, 1*y, 0.01 pigment { Green } }
#declare Blue = srgb <0,0,1>;
#declare CylinderZ = cylinder { -1*z, 1*z, 0.01 pigment { Blue } }
#declare SphereMediaContainer = sphere { <0,0,0>, 1 }
#declare SphereHidden = sphere { <0.2,0.1,0.2>, 0.3 }
#declare BoxForReveal = box { <-0.5,-0.5,-0.5>,<0.3,0.4,0.3> }
#include "functions.inc"
#declare FnSphereHidden = function {
pattern { object { SphereHidden } }
}
#declare FnBoxForReveal = function {
pattern { object { BoxForReveal } }
}
#declare FnZero = function (x,y,z) { 0 }
#declare Density00 = density {
user_defined {
function { FnBoxForReveal(x,y,z) },
function { FnSphereHidden(x,y,z)*FnBoxForReveal(x,y,z) },
function { FnZero(x,y,z) },,
}
}
#declare Media00 = media {
method 3
samples 100
emission rgb <1,1,1>
density { Density00 }
}
#declare Clear100 = srgbt <1,1,1,1>;
#declare Texture00 = texture { pigment { color Clear100 } }
#declare Interior00 = interior { ior 1 media { Media00 } }
#declare Material00 = material {
texture { Texture00 }
interior { Interior00 }
}
#declare ObjectMediaContainer = object {
SphereMediaContainer
material { Material00 }
hollow
}
//--- scene ---
camera { Camera00 }
light_source { Light00 }
object { CylinderX }
object { CylinderY }
object { CylinderZ }
object { ObjectMediaContainer }
//------------------------------------------
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
hi,
clipka <ano### [at] anonymousorg> wrote:
> > the effect I'm after is that the additive effect of the differently coloured
> > media when intersecting should reveal the outline of the "hidden" objects
> > through the colour change(s).
> Did you try using one `difference` and one `intersection` of the
> container objects in question, with different media?
no, not yet, the problem occurred with my first test trying.
> Or you could use one `merge` of the objects with the normal media "A",
> and one `intersection` with a media "B-A" (IIRC you can have negative
> emission, absorption or even scattering).
wrt the CSG. I need to sit down and digest all this, my naive original plan was
a simple animation involving more than one object moving, and the apparent need
to use CSG is .. a road block. (it's becoming very complex, all of a sudden)
:-)
regards, jr.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
hi,
"Bald Eagle" <cre### [at] netscapenet> wrote:
> > > media when intersecting should reveal the outline of the "hidden" objects
> > > through the colour change(s).
> No coffee yet...
:-)
> Just to clarify - is anything visible while not intersecting, or do the rods
> simply change color in the region where they intersect the invisible object?
the latter.
> You could define a separate container for the intersection ...
> could then even scale the intersection by something near
> (1-0.000001) to minimize coincident surfaces, if that's a problem. It won't be
> perfect - you'd to do an offset-curve to do that properly...
thank you for the pointers/ideas. see my reply to clipka wrt CSG operations,
had not thought along those lines + now need to change course, so to speak.
cheers.
regards, jr.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
hi,
William F Pokorny <ano### [at] anonymousorg> wrote:
> > the effect I'm after is that the additive effect of the differently coloured
> > media when intersecting should reveal the outline of the "hidden" objects
> > through the colour change(s).
> With v3.8 user_defined{} density is an option. The scene below does
> something close to what you want - I think.
(scene code snipped)
wow, thank you for writing up a test scene.
alas, I haven't a 3.8 installed, but will now do that in the next few days.
care to recommend the "safest and most stable" :-) of the alphas?
regards, jr.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 06/18/2018 09:01 AM, jr wrote:
> hi,
>
> alas, I haven't a 3.8 installed, but will now do that in the next few days.
>
> care to recommend the "safest and most stable" :-) of the alphas?
>
> regards, jr.
>
The latest 'Pre_release' has been good to me.
https://github.com/POV-Ray/povray/releases/tag/v3.8.0-alpha.9606898
Bill P.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
jr -
I think it ought to be possible to use the object pattern to do what you want,
if you can apply that to the media.
It's too hot to think over here, and I don't have POV-Ray handy to try a sample
scene - but intuitively it seems like it should be possible.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Le 18-06-17 à 10:05, jr a écrit :
> hi,
>
> I tried using the 'no_image' object modifier to achieve an effect where one
> (emissive) media filled container, hidden, is intersected by another, visible
> one.
>
> the documentation (3.4.5.5.7) says "..the object will not be seen...will still
> cast shadows, and show up in reflections.."
>
> I read this as: the object is still there but you can't see it. apparently not,
> since the media filled container seems gone completely. :-(
>
> the question then is how can I have an media filled container "out of view" but
> still interact with another, intersecting media filled container?
>
>
> regards, jr.
>
>
With no_image, the object can't be seen directly. That also affect it's
interior including any media.
If you don't want to see the container, you need to give it a fully
transparent texture, with no reflection nor highlights :
pigment{rgbt 1} OR pigment{rgbf 1}
finish{specular 0 phong 0 reflection 0}
Do NOT use rgbft<1,1,1,1,1> as it WILL make the object visible by
screwing up it's transparency.
Don't forget to make the container hollow.
Alain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
hi,
Alain <kua### [at] videotronca> wrote:
> >
> > the question then is how can I have an media filled container "out of view" but
> > still interact with another, intersecting media filled container?
> With no_image, the object can't be seen directly. That also affect it's
> interior including any media.
> If you don't want to see the container, you need to give it a fully
> transparent texture, with no reflection nor highlights :
> pigment{rgbt 1} OR pigment{rgbf 1}
> finish{specular 0 phong 0 reflection 0}
> Do NOT use rgbft<1,1,1,1,1> as it WILL make the object visible by
> screwing up it's transparency.
ok.
> Don't forget to make the container hollow.
;-)
cheers.
regards, jr.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
hi,
(nearly overlooked, I still struggle without Thunderbird and its threaded views)
"Bald Eagle" <cre### [at] netscapenet> wrote:
> > I think it ought to be possible to use the object pattern to do what you want,
> if you can apply that to the media.
you mean like WF Pokorny suggests in
http://news.povray.org/5b279884%241%40news.povray.org?
the whole concept is new to me.
> It's too hot to think over here, ...
lucky so and so..
regards, jr.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|