POV-Ray : Newsgroups : povray.programming : FAQ: Questions for Nathan's Photon Patch. Server Time
28 Jul 2024 20:31:14 EDT (-0400)
  FAQ: Questions for Nathan's Photon Patch. (Message 1 to 10 of 19)  
Goto Latest 10 Messages Next 9 Messages >>>
From: Ken
Subject: FAQ: Questions for Nathan's Photon Patch.
Date: 25 Mar 1999 04:24:31
Message: <36F9FFD8.D4819465@pacbell.net>
Greetings Photon Phonatics !


   As I have been using the new Photon patched version of Pov-Ray I
 have been keeping a small list of things that seem odd, I want further
 clarification on, or possible problems with the patch itself that he
 should know about. As I complete a new each new set of notes I will
 post them here so that the information is not spread across several
 different groups. Feel free to respond to my questions if you want to
 or if you have your own observations about the patch this would be a
 good thread to attach them to. That way Nathan doesn't have to go
 chasing around the different subject groups to find it all and it will
 be here and ready for him when he gets back from his conference trip.


 Ron,
   If there is a subject group more suitable for this let me know and
 I will clear out of here and move to the appropriate forum.


 Regards,

 -- 
 Ken Tyler


  My current list of observations and questions regarding the Photon Patch



1.)  What effects do transmit vs. filter have on behaviour ?
    Which have you been using to specify a glass material during
    your development work?


2.)  What direct effect does max trace level have on the photon
    collection process ?
    
2a.)  Add to this what effect does the ior value have on the collection
     process.

3.)   Occasionally the program begins rendering a black scene. There
    is nothing that can be done internally to reset to a correct render
    behaviour forcing a program closure and restart. It then will
    render correctly. It is a hit and miss bug but has happened maybe
    5 times now.

4.)  How do you force it to stop sending out so many photons ?
   There are times that no matter what parameters you choose it will not
   stop counting. I have seen the gather vs. shot count running 1:1 and
   after 5 minute with no end in site the render was manually stopped.
   It seems to be finding photons that just are not there. And yes
   I know that the parameters were in the ball park because there were
   cut and pasted out of a working scene with similar objects and lighting
   /finish attributes.

5.)  If I collect more photons than I shoot does this indicate that I do
   not have my gathering radius and/or the number of steps set correctly
   or is this an ideal situation. It seems to me that in most cases you
   would seek to have shot more photons that the number gathered.

6.)  If I shoot white light through a 60 degree equilateral triangle
   should I be getting prismatic dispersion on the output ? I know
   Darrens patch addresses this internally but was wondering about the
   effects of external out put with no method of assigning an internal
   dispersion characteristic.

   There is a practical reason for asking this aside from the ideal
   material. I have a large very detailed high triangle count mesh
   of a human skull. When I tried to use it as a glass object the many
   convolutions of the shape of the mesh gave me prismatic despersion
   seen on surrounding objects. Even with a max trace level of 40 I
   was still having problems with getting light to pass through all
   of the surfaces and gave up in favor of a different project. I was
   just wondering if this was expected behavior or did I just catch
   the oddball.


7.) On the same topic as above should light bend in accordance with
   the natural laws of physics or is the photon model used in the
   patch more of a visual gimmick than a relativistic lighting model.
   I have observed unnatural behaviour in three different prisms
   constructed using differing methods. Each was tried with a wide
   range of both photon related parameters and options as well as
   changes in refraction, reflection, and  the filter/transmit values.
   None of the computer based models matched a physical prism I have
   been using as a reference for comparison.


8.) Are there any object types that are excluded from working with
   the photon patch, photon specific, properties ?
   Of the different object types the patch seems to provide the least
   functionality with are triangles and meshes, it works properly with
   procedural primitives, and seems to really choke on CSG constructs
   like a shape made out of intersecting planes. The last is one that
   gave me the runaway photon counter mentioned above. A box trimmed
   with an intersecting plane works well but if you use all planes to
   form a refracting object it goes nuts and no parameter will change
   the way it reacts. This is of course a one object, one time, situation
   that I have not confirmed with other constructions or construction
   CSG types.


   That is all for now.

   Thank you for your continued support.

   Ken Tyler.


Post a reply to this message

From: Peter Popov
Subject: Re: FAQ: Questions for Nathan's Photon Patch.
Date: 25 Mar 1999 05:16:13
Message: <36fb0c48.7670376@news.povray.org>
Hi Ken.

I think I can answer this one for you.

>8.) Are there any object types that are excluded from working with
>   the photon patch, photon specific, properties ?
>   Of the different object types the patch seems to provide the least
>   functionality with are triangles and meshes, it works properly with
>   procedural primitives, and seems to really choke on CSG constructs
>   like a shape made out of intersecting planes. The last is one that
>   gave me the runaway photon counter mentioned above. A box trimmed
>   with an intersecting plane works well but if you use all planes to
>   form a refracting object it goes nuts and no parameter will change
>   the way it reacts. This is of course a one object, one time, situation
>   that I have not confirmed with other constructions or construction
>   CSG types.

Photons are shot at an object's bounding box. POV is at a loss when
trying to automatically bound an intersection of planes (or any other
infinites) only. When you intersect a box with a plane, POV knows for
sure that the resulting object will be bounded by the aforementioned
box. The solution is to manually bound your CSG of planes. It will
speed up the render, too.


---------
Peter Popov
ICQ: 15002700


Post a reply to this message

From: Mike
Subject: Re: FAQ: Questions for Nathan's Photon Patch.
Date: 25 Mar 1999 07:37:57
Message: <36FA2CBB.4D8BBB3@aol.com>
Ken wrote:
 
> 1.)  What effects do transmit vs. filter have on behaviour ?
>     Which have you been using to specify a glass material during
>     your development work?

Same as with no photon mapping.  Fade_distance and fade_power work too,
which I recommend for glass.  I also tend to use a transmit of .95 or so
for glass.  I only bother with filter if the glass has color.
 
> 2.)  What direct effect does max trace level have on the photon
>     collection process ?

Again, same as with no photon mapping.  Photons use the max_trace_level
specified in global settings.  Nathan mentioned that he might make a
seperate one for photons, but right now it's the same for forward and
backward tracing.  Once the max_trace_level is reached, no further
tracing for that ray is done.
 
> 2a.)  Add to this what effect does the ior value have on the collection
>      process.

It changes the direction of a photon.
 
> 3.)   Occasionally the program begins rendering a black scene. There
>     is nothing that can be done internally to reset to a correct render
>     behaviour forcing a program closure and restart. It then will
>     render correctly. It is a hit and miss bug but has happened maybe
>     5 times now.

I think this may be related to something I mentioned to Nathan a little
while ago.  There's some global variables that probably need to be reset
before each render.  I'm sure this will be addressed as the code is
refined.

> 4.)  How do you force it to stop sending out so many photons ?
>    There are times that no matter what parameters you choose it will not
>    stop counting. I have seen the gather vs. shot count running 1:1 and
>    after 5 minute with no end in site the render was manually stopped.
>    It seems to be finding photons that just are not there. And yes
>    I know that the parameters were in the ball park because there were
>    cut and pasted out of a working scene with similar objects and lighting
>    /finish attributes.

I think it's only controllable with the various tuning values, like the
stop angle, density, or gather.  To tell it to only shoot like 1000
photons would be like telling POV-Ray to render only 50 pixels - it
wouldn't know which 50 to render.

> 5.)  If I collect more photons than I shoot does this indicate that I do
>    not have my gathering radius and/or the number of steps set correctly
>    or is this an ideal situation. It seems to me that in most cases you
>    would seek to have shot more photons that the number gathered.

dunno.
 
> 6.)  If I shoot white light through a 60 degree equilateral triangle
>    should I be getting prismatic dispersion on the output ? I know
>    Darrens patch addresses this internally but was wondering about the
>    effects of external out put with no method of assigning an internal
>    dispersion characteristic.
> 
>    There is a practical reason for asking this aside from the ideal
>    material. I have a large very detailed high triangle count mesh
>    of a human skull. When I tried to use it as a glass object the many
>    convolutions of the shape of the mesh gave me prismatic despersion
>    seen on surrounding objects. Even with a max trace level of 40 I
>    was still having problems with getting light to pass through all
>    of the surfaces and gave up in favor of a different project. I was
>    just wondering if this was expected behavior or did I just catch
>    the oddball.

Hmm, you mean to ask if photons are effected by dispersion?  So far I
don't think this is turned on.

> 7.) On the same topic as above should light bend in accordance with
>    the natural laws of physics or is the photon model used in the
>    patch more of a visual gimmick than a relativistic lighting model.
>    I have observed unnatural behaviour in three different prisms
>    constructed using differing methods. Each was tried with a wide
>    range of both photon related parameters and options as well as
>    changes in refraction, reflection, and  the filter/transmit values.
>    None of the computer based models matched a physical prism I have
>    been using as a reference for comparison.

I think that what is covered is accurate, but the one characteristic of
a prism that is modelled currently is total internal reflection. 
Dispersion and other subtle effects of angle dependant reflection and
tranmission are not.  If the wyzpov patch is merged with the backtracing
portion of the code than some of this might work, although there's
probably better models that could be used that no one has written yet.

In other words, if at a certain angle a ray is reflected 90%, then the
transmission should be 10%.  Obviosly if something like this were
included as an option, it should be turned on with a seperate keyword so
as not to remove any artistic liscences one way want to take.  The way
photon mapping works now creates very accurate looking caustics, even
though there are many things that aren't taken into account.  The reason
being that the sampling is smooth, so the lack of detail actually
creates the illusion that several other things are present.  You may
notice that the more refined the photon gathering, there seems to be a
point where it starts to look less accurate because it's too perfect.

> 8.) Are there any object types that are excluded from working with
>    the photon patch, photon specific, properties ?
>    Of the different object types the patch seems to provide the least
>    functionality with are triangles and meshes, it works properly with
>    procedural primitives, and seems to really choke on CSG constructs
>    like a shape made out of intersecting planes. The last is one that
>    gave me the runaway photon counter mentioned above. A box trimmed
>    with an intersecting plane works well but if you use all planes to
>    form a refracting object it goes nuts and no parameter will change
>    the way it reacts. This is of course a one object, one time, situation
>    that I have not confirmed with other constructions or construction
>    CSG types.

Just keep in mind that photons are shot at an object's bounding box.  A
plane is actually is bounded, but the size is around the limits of what
POV-Ray can handle.  As far as CSG goes, you may recall the hard time
spider had rendering the glass tree.  The bounding box surrounds the
whole tree, so there's a very small volume inside a larger one,
therefore the chance of getting a hit isn't very good.  The closer the
bounds match the object, the better hit/miss ratio you're going to get. 

What I've said might not be totally correct, but given the gist of most
of the questions, I think there's one thing that should be noted - the
photons pretty much use the same model as a normal ray.  Nathan copied
the code from compute_lighted_texture with some modification.  The
photon mapping code seems to be mostly involved with how many photons to
shoot, the starting direction, and how to store them in the kd tree. 
How they behave behond that is just like regular POV -> Rays. ;)

-Mike


Post a reply to this message

From: Ron Parker
Subject: Re: FAQ: Questions for Nathan's Photon Patch.
Date: 25 Mar 1999 08:59:03
Message: <36fa4127.0@news.povray.org>
On Thu, 25 Mar 1999 01:20:24 -0800, Ken <tyl### [at] pacbellnet> wrote:
> Ron,
>   If there is a subject group more suitable for this let me know and
> I will clear out of here and move to the appropriate forum.

It's not my newsgroup, so do what you will.  In any case, this seems 
like as good a place as any for it, since it's the closest thing we 
have to an "unofficial patch" group.  Besides, I think photon mapping 
is cool (even if I haven't done anything with it yet.)


Post a reply to this message

From: Nieminen Mika
Subject: Re: FAQ: Questions for Nathan's Photon Patch.
Date: 25 Mar 1999 09:16:09
Message: <36fa4529.0@news.povray.org>
Mike <Ama### [at] aolcom> wrote:
: Again, same as with no photon mapping.  Photons use the max_trace_level
: specified in global settings.  Nathan mentioned that he might make a
: seperate one for photons, but right now it's the same for forward and
: backward tracing.  Once the max_trace_level is reached, no further
: tracing for that ray is done.

  He also mentioned that he will add an adc_bailout value for the photons.
That surely will be handy since I'm constantly running out of memory.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: ingo
Subject: Re: Questions for Nathan's Photon Patch.
Date: 25 Mar 1999 13:20:02
Message: <36fa7e52.0@news.povray.org>
Ken heeft geschreven in bericht <36F9FFD8.D4819465@pacbell.net>...
>Greetings Photon Phonatics !>
>  .............
>
>4.)  How do you force it to stop sending out so many photons ? ...........

Use autostop 0 in the global_settings
Don't start with a very small radius and density setting. Use only one or
two steps.

>5.)  If I collect more photons than I shoot does this indicate that I do
>   not have my gathering radius and/or the number of steps set correctly
>.....

No, I  think the settings are ok. Keep an eye on the priority queue remove
value, keep it close to zero.

>   .......or is this an ideal situation. It seems to me that in most cases
you
>   would seek to have shot more photons that the number gathered.

It seems to depend on the type of object (ior?) and the light position. A
light shining through a (converging) lens on a plane will gather lots of
photons. An object that diverges the light will gather less.

>7.) On the same topic as above should light bend in accordance with
>   the natural laws of physics or is the photon model used in the
>   patch more of a visual gimmick than a relativistic lighting model.
>   I have observed unnatural behaviour in three different prisms
>   constructed using differing methods. .......

Didn't try prisms yet, but for lenses and mirrors the patch behaves
accurate. You can build complete optical systems, use photons_pass_through
on every optical element except for the last. Only have the last element
generate the caustics. Every element should have the appropriate glass
texture and ior. Use a high setting for the max_trace_level (this also helps
against the black shadows in the glass with liquid scenes).
For prisms the problem will be the total internal reflections, as pointed
out by Mike.

>
>   That is all for now.
>
>   Thank you for your continued support.
>
>   Ken Tyler.

When I set up a one light, one object scene, in global_settings I set  the
photons radius to an angle of say 0.05 to start with. Then in the object I
set the density
to 0.1, followed by a test render. If queue remove value is high I make the
density value bigger. If the remove value is not shown I reduce the density
value. Make the remove value close to zero.
To change the quality (sharpness) of the caustics, devide (or multiply) the
radius and
density values by two. Then tweak again. The parse time and memory use will
go up, the rendertime will stay the same (almost)
Continue these steps until you are satisfied, run out of memory or until
UVPOV gives up (caustics are gone).
If you change the lightposition or the camera position much, you can start
tweaking again. Also when you change the properties of the
defracting/reflecting object (thickness of glass, ior).

Put "I think, ..." before and after everything I stated here.

ingo

--
Met dank aan de muze met het glazen oog.


Post a reply to this message

From: Nieminen Mika
Subject: Re: FAQ: Questions for Nathan's Photon Patch.
Date: 26 Mar 1999 08:09:41
Message: <36fb8715.0@news.povray.org>
I have a couple of questions too:

  1. The photons are not supporting spotlights right now (spotlights are
handled just like point lights). I suppose you will add that feature in
the near future.

  2. The photons do not interact with atmospheric (scattering) media. I
suppose you will add that feature too (or is it possible at all?).

  3. Are you going to add support for area lights and how?

  4. What's the meaning of life?

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Mike
Subject: Re: FAQ: Questions for Nathan's Photon Patch.
Date: 26 Mar 1999 09:07:25
Message: <36FB9333.D3A56CB@aol.com>
>   1. The photons are not supporting spotlights right now (spotlights are
> handled just like point lights). I suppose you will add that feature in
> the near future.

I think he mentioned a few days ago that he plans on adding that
eventually.
 
>   2. The photons do not interact with atmospheric (scattering) media. I
> suppose you will add that feature too (or is it possible at all?).

There's already some code to do this, but it's commented out in the
source.  I haven't worked up the nerve to try it out yet (maybe today).
It's not only possible to get it to interact with media - there is a way
to store photon IN media.  As has been mentioned before it apparently
very slow to do this though.
 
>   3. Are you going to add support for area lights and how?

I think I saw some code for diffuse interreflection that isn't used yet.
It's probably incomplete at this point.
 
>   4. What's the meaning of life?

To render and render often.

-Mike


Post a reply to this message

From: Spider
Subject: Re: FAQ: Questions for Nathan's Photon Patch.
Date: 26 Mar 1999 18:21:07
Message: <36FC1560.8C3F21B1@bahnhof.se>
Nieminen Mika wrote:
> 
>   1. The photons are not supporting spotlights right now (spotlights are
> handled just like point lights). I suppose you will add that feature in
> the near future.
hmm, light_source in a differenced cone, outside totally diffuse and black,
inside totally relflective. that should do for now. noo?
 
>   2. The photons do not interact with atmospheric (scattering) media. I
> suppose you will add that feature too (or is it possible at all?).
I'm suuure he will(if we bugger him enough)
 
>   3. Are you going to add support for area lights and how?
Hmm, as a grid of point_lights is my guess...
>   4. What's the meaning of life?
42.

-- 
//Spider
        [ spi### [at] bahnhofse ]-[ http://www.bahnhof.se/~spider/ ]
What I can do and what I could do, I just don't know anymore
                "Marian"
        By: "Sisters Of Mercy"


Post a reply to this message

From: povray org admin team
Subject: Re: FAQ: Questions for Nathan's Photon Patch.
Date: 27 Mar 1999 09:26:13
Message: <36feeb67.5676468@news.povray.org>
par### [at] my-dejanewscom (Ron Parker) wrote:

>since it's the closest thing we have to an "unofficial patch" group.

not any more (remember to get new groups)


Post a reply to this message

Goto Latest 10 Messages Next 9 Messages >>>

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