POV-Ray : Newsgroups : povray.general : no_image behaviour Server Time
22 Dec 2024 07:38:32 EST (-0500)
  no_image behaviour (Message 1 to 10 of 34)  
Goto Latest 10 Messages Next 10 Messages >>>
From: jr
Subject: no_image behaviour
Date: 17 Jun 2018 10:10:01
Message: <web.5b266abc8a28a9c1635cc5ad0@news.povray.org>
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.


Post a reply to this message

From: Le Forgeron
Subject: Re: no_image behaviour
Date: 17 Jun 2018 10:22:02
Message: <5b266e8a@news.povray.org>
Le 17/06/2018 à 16: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.
> 
> 

what about having a rgbft/srgbtf texture/pigment of the object such as
<1, 1, 1, 1, 1> ?
With finish to avoid reflection too.

And basic point with media filled container: are they hollow ? They must
be hollow.


Post a reply to this message

From: jr
Subject: Re: no_image behaviour
Date: 17 Jun 2018 11:25:01
Message: <web.5b267c626d52b562635cc5ad0@news.povray.org>
hi again,

Le_Forgeron <jgr### [at] freefr> 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?
> >
> what about having a rgbft/srgbtf texture/pigment of the object such as
> <1, 1, 1, 1, 1> ?
> With finish to avoid reflection too.

all examples I've seen used {rgbt 1}, so had not tried with the filter
component.  made no difference though.  :-(

I've included the test scene I used, and, below that code, one of the
materials included from a separate file (which I can post if needed); all
materials are the same, bar colour (the verticals are also scaled down, ie
emission c * .35).

/* cf 'no_image' */

#version 3.7;

global_settings {
  assumed_gamma 1.0
  charset utf8
}

#include "d2mat.inc"

camera {
  orthographic
  location <5,4,-20>
  look_at <5,4,0>
  right x*(image_width/image_height)
  up <0,1,0>
  angle 90
}

#declare Oline1 = box {
  <0,1,0>, <20,2,20>
  hollow
  material {Mline1}
//  no_image
  no_reflection
  no_shadow
};

#declare Oline2 = box {
  <0,4,0>, <20,5,20>
  hollow
  material {Mline2}
//  no_image
  no_reflection
  no_shadow
};

#declare Oline3 = box {
  <0,7,0>, <20,8,20>
  hollow
  material {Mline3}
//  no_image
  no_reflection
  no_shadow
};

#declare Obox1 = box {
  <1,0,4>, <2,15,5>
  hollow
  material {Mbox1}
  no_reflection
  no_shadow
};

#declare Obox2 = box {
  <4,0,4>, <5,15,5>
  hollow
  material {Mbox2}
  no_reflection
  no_shadow
};

#declare Obox3 = box {
  <7,0,7>, <8,15,8>
  hollow
  material {Mbox3}
  no_reflection
  no_shadow
};

union {
  object {Oline1}
  object {Oline2}
  object {Oline3}
  object {Obox1}
  object {Obox2}
  object {Obox3}
}

/* this is not scaled */

#declare Mline1 = material {
  texture {
    pigment {srgbft <1,1,1,1,1>}
    finish {
      ambient     0
      brilliance  1
      crand       0
      diffuse     0
      metallic    0
      phong       0
      phong_size  40
      specular    0
      roughness   0.05
    }
  }
  interior {
    ior                 1.1
    caustics            0
    dispersion          1
    dispersion_samples  7
    fade_power          0
    fade_distance       0
    fade_color          rgb <0,0,0>
    media {
      method        2
      intervals     1
      samples       1, 1
      confidence    0.9
      variance      0.005
      ratio         0.9
      absorption    0
      emission      rgb <1,0,0>
      aa_threshold  0.1
      aa_level      4
    }
  }
};



regards, jr.


Post a reply to this message

From: clipka
Subject: Re: no_image behaviour
Date: 17 Jun 2018 12:36:25
Message: <5b268e09$1@news.povray.org>
Am 17.06.2018 um 16:05 schrieb jr:

> 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?

Your description of the desired effect is pretty vague: I understand
that you want an object to be "hidden" (whatever that means), yet
interact with some other visible object in /some/ (unspecified) manner,
but that's about it.

You're even talking about "intersecting" media containers, but your
sample scene only has a union.


As for the `no_image` keyword, marking an object in this manner will (or
at least is intended to) cause it to /not/ "be there" - i.e. have /no
effect whatsoever/ - in the context of primary rays, while still "being
there" in the context of secondary rays (e.g shadow computations and
reflections).


Post a reply to this message

From: Bald Eagle
Subject: Re: no_image behaviour
Date: 17 Jun 2018 13:25:01
Message: <web.5b26984a6d52b562458c7afe0@news.povray.org>
Before Alain castigates you:

"For media, the defaults are :
method 3
intervals 1
samples 10

confidence is NOT used
variance is NOT used
Only the first value of samples is ever used if you provide two.
Using intervals >1 greatly impaire your rendering speed.

Using intervals with a value larger than 1 is only adviseable if using
method 1 or 2."

I had to rewrite your code to make use of the texture.  What inc file are you
using?

This is as far as I got so far:



/* cf 'no_image' */

#version 3.7;

global_settings {
  assumed_gamma 1.0
  charset utf8
}

//#include "d2mat.inc"


#declare Mline1 = material {
  texture {
    //pigment {srgbft <1,1,1,1,1>}
    pigment {rgbt 1}
    /*
    finish {
      ambient     0
      brilliance  1
      crand       0
      diffuse     0
      metallic    0
      phong       0
      phong_size  40
      specular    0
      roughness   0.05
    }*/
  }
  interior {
  /*
    ior                 1.1
    caustics            0
    dispersion          1
    dispersion_samples  7
    fade_power          0
    fade_distance       0
    fade_color          rgb <0,0,0>
    */
    media {
      method        3
      intervals     1
      samples       10
      //confidence    0.9
      //variance      0.005
      ratio         0.9
      absorption    0
      emission      rgb <1,0,0>
      aa_threshold  0.1
      aa_level      4
    }
  }
}

#declare Mline2 = Mline1;
#declare Mline3 = Mline1;

#declare Mbox1 = Mline1;
#declare Mbox2 = Mline1;
#declare Mbox3 = Mline1;

camera {
  orthographic
  location <5,4,-20>
  look_at <5,4,0>
  right x*(image_width/image_height)
  up <0,1,0>
  angle 90
}

#declare Oline1 = box {
  <0,1,0>, <20,2,20>
  hollow
  material {Mline1}
//  no_image
  no_reflection
  no_shadow
};

#declare Oline2 = box {
  <0,4,0>, <20,5,20>
  hollow
  material {Mline2}
//  no_image
  no_reflection
  no_shadow
};

#declare Oline3 = box {
  <0,7,0>, <20,8,20>
  hollow
  material {Mline3}
//  no_image
  no_reflection
  no_shadow
};

#declare Obox1 = box {
  <1,0,4>, <2,15,5>
  hollow
  material {Mbox1}
  no_reflection
  no_shadow
};

#declare Obox2 = box {
  <4,0,4>, <5,15,5>
  hollow
  material {Mbox2}
  no_reflection
  no_shadow
};

#declare Obox3 = box {
  <7,0,7>, <8,15,8>
  hollow
  material {Mbox3}
  no_reflection
  no_shadow
};

union {
  object {Oline1}
  object {Oline2}
  object {Oline3}
  object {Obox1}
  object {Obox2}
  object {Obox3}
}

/* this is not scaled */


Post a reply to this message

From: Stephen
Subject: Re: no_image behaviour
Date: 17 Jun 2018 13:48:49
Message: <5b269f01$1@news.povray.org>
On 17/06/2018 17:36, clipka wrote:
> As for the `no_image` keyword, marking an object in this manner will (or
> at least is intended to) cause it to/not/  "be there" - i.e. have /no
> effect whatsoever/ - in the context of primary rays, while still "being
> there" in the context of secondary rays (e.g shadow computations and
> reflections).

 From my tests that is what happens.
Maybe it should be spelt out in the documentation?
 From my reading that case is undefined.

-- 

Regards
     Stephen


Post a reply to this message

From: jr
Subject: Re: no_image behaviour
Date: 17 Jun 2018 14:00:07
Message: <web.5b26a1696d52b562635cc5ad0@news.povray.org>
hi,

clipka <ano### [at] anonymousorg> wrote:
> Am 17.06.2018 um 16:05 schrieb jr:
>
> > 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.
> Your description of the desired effect is pretty vague: I understand
> that you want an object to be "hidden" (whatever that means), yet
> interact with some other visible object in /some/ (unspecified) manner,
> but that's about it.
> You're even talking about "intersecting" media containers, but your
> sample scene only has a union.

ah, sorry, guilty as charged.  what I meant is: hidden == no_image modifier, by
intersecting I meant just that, the horizontals + verticals go through one
another, did not think about the CSG meaning.

> As for the `no_image` keyword, marking an object in this manner will (or
> at least is intended to) cause it to /not/ "be there" - i.e. have /no
> effect whatsoever/ - in the context of primary rays, while still "being
> there" in the context of secondary rays (e.g shadow computations and
> reflections).

what does "primary" and "secondary" rays mean, in the context?  that is, in a
scene with only emissive media objects and zero light_source(s).


regards, jr.


Post a reply to this message

From: Stephen
Subject: Re: no_image behaviour
Date: 17 Jun 2018 14:05:01
Message: <5b26a2cd@news.povray.org>
On 17/06/2018 18:20, Bald Eagle wrote:
> Before Alain castigates you:

LOL :-)

I replicated the conditions with two elongated boxes that intersected at 
90° to each other.
I did notice what looked like a coincidence surface problem. And when I 
turned the union into a merge. It looked like a difference with the 
intersection black. (I was using red and green emissive media to give 
yellow at the intersection.)

-- 

Regards
     Stephen


Post a reply to this message

From: jr
Subject: Re: no_image behaviour
Date: 17 Jun 2018 14:10:03
Message: <web.5b26a38c6d52b562635cc5ad0@news.povray.org>
hi,

"Bald Eagle" <cre### [at] netscapenet> wrote:
> Before Alain castigates you:
>
> "For media, the defaults are :
> method 3
> intervals 1
> samples 10
>
> confidence is NOT used
> variance is NOT used
> Only the first value of samples is ever used if you provide two.
> Using intervals >1 greatly impaire your rendering speed.
>
> Using intervals with a value larger than 1 is only adviseable if using
> method 1 or 2."

I will need to re-read this later.  :-)  thanks.


> I had to rewrite your code to make use of the texture.  What inc file are you
> using?

just storage for the materials.


> This is as far as I got so far:
>
> #declare Mline1 = material {
>   texture {
>     //pigment {srgbft <1,1,1,1,1>}
>     pigment {rgbt 1}

that is what I started off with.  modified to 5-colour after reading
LeForgeron's reply.

and the materials that weren't included -- they're all identical, bar the colour
(using red, green, blue, cyan, magenta, and yellow).


regards, jr.


Post a reply to this message

From: clipka
Subject: Re: no_image behaviour
Date: 17 Jun 2018 15:21:09
Message: <5b26b4a5$1@news.povray.org>
Am 17.06.2018 um 19:59 schrieb jr:

>> As for the `no_image` keyword, marking an object in this manner will (or
>> at least is intended to) cause it to /not/ "be there" - i.e. have /no
>> effect whatsoever/ - in the context of primary rays, while still "being
>> there" in the context of secondary rays (e.g shadow computations and
>> reflections).
> 
> what does "primary" and "secondary" rays mean, in the context?  that is, in a
> scene with only emissive media objects and zero light_source(s).

Primary rays are rays traced (backward) from the camera into the scene.

Seconary rays are rays traced (backward) from any "point of interest"
other than the camera. Typically, the point of interest is an
intersection of the primary ray with an object's surface, but it could
also be a point in a media container where scattering effects are computed.

Primary rays are traced to determine which object surfaces are "seen"
directly in the scene (including surfaces defined to have an invisible
texture), and what interiors (if any) lie between the camera and the
first opaque surface.


Secondary rays may be traced for different purposes:

- A "shadow ray" would be traced from an object's surface to a light
source, to compute whether that light source directly illuminates the
object or whether a shadow is cast on the surface by other object
surfaces or interiors; or from a (sample) point in scattering media to a
light source, to compute whether that light source directly illuminates
that region of space or whether the volumetric equivalent of a shadow is
cast on that region of space.

- A "reflection ray" would be traced from a (reflective) object's
surface in the direction given by the law of reflection, to determine
what objects and interiors are reflected by the surface.

- A bunch of "radiosity rays" would be traced from a (sample) point on
an object's surface in somewhat random directions to determine how much
indirect illumination the point receives from other objects (including
emissive media).

- A bunch of "subsurface rays" would be traced from a point slightly
below an object's surface in somewhat random directions to determine how
much light is transported through the bulk of the object to the
corresponding point on the surface.


In POV-Ray, "refraction rays" are also considered "primary rays" for
historical and technical reasons. These would be traced from a
(transparent or semi-transparent) object's surface in the direction
given by snell's law, to determine what other objects and interiors can
be seen "behind" the object.


Post a reply to this message

Goto Latest 10 Messages Next 10 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.