POV-Ray : Newsgroups : povray.binaries.images : Extreme spectral photons Server Time
12 Sep 2025 18:12:09 EDT (-0400)
  Extreme spectral photons (Message 1 to 8 of 8)  
From: Cousin Ricky
Subject: Extreme spectral photons
Date: 8 Sep 2025 14:10:34
Message: <68bf1c1a@news.povray.org>
I have attempted a reproduction of Bruno Cabasson's "Extreme photons"
using spectral rendering. Bruno's originals are at:
 https://news.povray.org/web.4d54f6b329b411e54aa45fdf0%40news.povray.org
 https://news.povray.org/web.56b2713b1c633944f94e287a0%40news.povray.org

Image rc3-extreme_photons-pre.jpg is a 3-channel RGB preview render in
which I used POV-Ray's native dispersion to calibrate the optical
properties of the glass used in the spectral render.  Image
rc3-extreme_photons-sr.jpg is the spectral render.

Without access to Bruno's source code, I had to guess at the placement
of the objects.  Hence, there are some differences, especially at the
upper right.

But I was also limited by SpectralRender's wavelength resolution, which
is fixed at the equivalent of 36 dispersion samples.  In addition, the
deepest violet wavelengths are nearly invisible, so I stretched out the
dispersion such that the 2nd mirror only catches wavelengths of 430 nm
and longer, leaving effectively only 31 dispersion samples.  It is clear
from the images that at least twice as many dispersion samples are
needed for smooth transitions in the blues and violets.

One change I have contemplated is evenly spacing spacing out the
wavelength IORs.  IORs are non-linear with respect to wavelength, and
for most real-life materials, the violet rays are spread out more than
the red rays.  For this scene, I used an exaggerated version of BK7
glass, which exhibits this property.  Forcing a linear correspondence
between IOR and wavelength should bring the violet rays closer together,
although the RGB preview (which uses dispersion_samples 36) shows that
merely adjusting the spacing would not be enough.  Drastic editing of
SpectralRender would be needed to increase the number of dispersion samples.

One odd glitch in the images is that the media photons are not reflected
smoothly in the mirrors.  Anyone have an idea what causes that?

Light and optical properties:

  photons { spacing 0.02 media 300 autostop 0 }
  interior { ior 1.5 dispersion 1.1 } // RGB preview only
  light_source
  { -14 * y, [daylight 6504 K] * 1.5
    cylinder radius 0.01 falloff 0.4
    parallel point_at 0
    media_interaction off
  }
  white point: daylight 6504 K
  gamut mapping: Y-preserved

RGB preview statistics:

  Max Level: 50/50
  Number of photons shot:          804403
  Surface photons stored:           47938
  Media photons stored:          56110011
  Gather function called:        99876683

  Render Time:
    Photon Time:      0 hours  0 minutes 17 seconds (17.696 seconds)
                using 10 thread(s) with 22.581 CPU-seconds total
    Radiosity Time:   No radiosity
    Trace Time:       4 hours 30 minutes 37 seconds (16237.189 seconds)
                using 7 thread(s) with 102226.472 CPU-seconds total

I used only 7 threads because I wanted to keep using the computer while
it was rendering, and even with nice -n 19, renders can interfere with
some other programs.  I tried doing an overnight run, but the whole
entire computer crashed sometime during the night.

The last render block took 16 minutes to finish after all the others
were done; and based on previous runs, the last 5 render blocks probably
took around 39 minutes.

Spectral render statistics:

  Max Level: 50/50
  Number of photons shot:   804403 per animation frame, 28958508 total
  Surface photons stored:     1323 average per frame,      47623 total
  Media photons stored:    1518543 average per frame,   54667531 total
  Gather function called: 18813873 average per frame,  677299421 total

  Render Times:
    Photon Times: 0.456 seconds average per frame, 16.418 seconds total
      using 11 threads
        0.691 CPU-seconds average per frame, 24.860 CPU-seconds total
    Radiosity Times:   No radiosity
    Trace Times: 14 min 38 sec average per frame, 8 hrs 46.6 min total
      using 8 threads
        6345 CPU-seconds average per frame, 228413 CPU-seconds total

Each animation frame corresponds to a wavelength of light.  I ran this
one overnight on all 8 threads because it's an animation, and I figured
if it crashed I could easily pick up where it left off.

Spectral render final assembly statistics:

  Render Time:
    Photon Time:      No photons
    Radiosity Time:   No radiosity
    Trace Time:       0 hours  1 minutes  1 seconds (61.512 seconds)
                using 8 thread(s) with 448.695 CPU-seconds total


Post a reply to this message


Attachments:
Download 'rc3-extreme_photons-pre.jpg' (152 KB) Download 'rc3-extreme_photons-sr.jpg' (143 KB)

Preview of image 'rc3-extreme_photons-pre.jpg'
rc3-extreme_photons-pre.jpg

Preview of image 'rc3-extreme_photons-sr.jpg'
rc3-extreme_photons-sr.jpg


 

From: William F Pokorny
Subject: Re: Extreme spectral photons
Date: 8 Sep 2025 20:39:34
Message: <68bf7746@news.povray.org>
On 9/8/25 14:10, Cousin Ricky wrote:
> One odd glitch in the images is that the media photons are not reflected
> smoothly in the mirrors.  Anyone have an idea what causes that?

Well done. Cool work and images both!

Links: I do vaguely remember his posting that version of the shipped 
SSLT example scene - so not all my memory cells are shot as yet...

As to your question, maybe media sampling is set too low for the 
reflections? Earlier posted scene was using just 3,3 I think. The 
reflected rays would be running through the media at shallower angles 
from different starting positions. Could be the initial 3 samples partly 
/ completely miss at some intervals vertically down the mirror. A Guess.

Bill P.


Post a reply to this message

From: kurtz le pirate
Subject: Re: Extreme spectral photons
Date: 9 Sep 2025 12:37:22
Message: <68c057c2$1@news.povray.org>
On 08/09/2025 20:10, Cousin Ricky wrote:
> I have attempted a reproduction of Bruno Cabasson's "Extreme photons"
> using spectral rendering. Bruno's originals are at:
>   https://news.povray.org/web.4d54f6b329b411e54aa45fdf0%40news.povray.org
>   https://news.povray.org/web.56b2713b1c633944f94e287a0%40news.povray.org
> 
> ... 


What a wonderfull job. Respects !

-- 
kurtz le pirate
compagnie de la banquise


Post a reply to this message

From: yesbird
Subject: Re: Extreme spectral photons
Date: 10 Sep 2025 14:00:04
Message: <68c1bca4$1@news.povray.org>
On 08/09/2025 21:10, Cousin Ricky wrote:
> I have attempted a reproduction of Bruno Cabasson's "Extreme photons"
> using spectral rendering. Bruno's originals are at:
>   https://news.povray.org/web.4d54f6b329b411e54aa45fdf0%40news.povray.org
>   https://news.povray.org/web.56b2713b1c633944f94e287a0%40news.povray.org

Very impressive, really nice job - thanks for sharing !
-- 
YB


Post a reply to this message

From: Cousin Ricky
Subject: Re: Extreme spectral photons
Date: 10 Sep 2025 20:08:10
Message: <68c212ea$1@news.povray.org>
On 2025-09-08 20:39 (-4), William F Pokorny wrote:
> On 9/8/25 14:10, Cousin Ricky wrote:
>> One odd glitch in the images is that the media photons are not reflected
>> smoothly in the mirrors.  Anyone have an idea what causes that?
> 
> As to your question, maybe media sampling is set too low for the
> reflections? Earlier posted scene was using just 3,3 I think. The
> reflected rays would be running through the media at shallower angles
> from different starting positions. Could be the initial 3 samples
> partly / completely miss at some intervals vertically down the mirror. A
> Guess.

I tried samples 10, 10, and that improved the reflection; but now the
media photons are considerably dimmer than before.


Post a reply to this message


Attachments:
Download 'rc3-extreme_photons-msamples10.jpg' (47 KB)

Preview of image 'rc3-extreme_photons-msamples10.jpg'
rc3-extreme_photons-msamples10.jpg


 

From: William F Pokorny
Subject: Re: Extreme spectral photons
Date: 11 Sep 2025 03:24:26
Message: <68c2792a$1@news.povray.org>
On 9/10/25 20:08, Cousin Ricky wrote:
> I tried samples 10, 10, and that improved the reflection; but now the
> media photons are considerably dimmer than before.

Dimming is a side effect of media sampling - any sort of adaptive 
sampling really - including AA with small details.

Where the media density isn't constant throughout a container, or, here, 
  where the distribution of deposited media photons isn't of constant 
density for all ray paths through the media - how the samples you do 
take, land, matters to the intensity of the overall result.

A simple example. Suppose looking down on the media box we have, 
vertically, a very thin layer of deposited photons. In our set up we 
take 3 primary samples and no adaptive samples. Further, camera ray 
paths traveling down into the media box are such that only the middle 
sample of the 3 lands in the middle of our thin layer of deposited media 
photons. The resultant media intensity is calculated as 1/3 for the 
three samples.

Now we up the samples to 10, but still only one of those 10 sample lands 
in our thin layer of deposited photons. The calculated media intensity 
is now 1/10 for the samples taken.

Our adaptive sampling realities are more much complicated - not the 
least of which is the adaptive bit which tends to pile on samples 
between changing initial samples. This often both dims and brightens - 
depending.

With media photons we have other factors like the photon gathering 
radius and light intensity and density (radial pattern spacing) used 
when depositing photons. Users might use an 'absorption' color to 
control sampling, over brightness/intensity (color channel clipping) 
where ray paths are relatively long.

With that mirror's reflected rays, and our simple example, we could have 
reflected ray paths which run much 'longer' within that thin layer of 
deposited photons than they do more generally in the scene - resulting 
in unrealistically bright reflections.

The rule is more samples / rays for any given render is more accurate. 
Of course, that gets expensive(*).

There may be additional causes the dimming you see. How the media 
adaptive sampling gets done is itself complicated (**) and there are 
code comments for suspected shortcomings and open questions as to 
particular bits of the code.

(**) - The intensity / grayscale values used while controlling the 
adaptive process for different colors, changes with color, for example.

Bill P.

---

(*) - In yuqk, I co-opted a number of existing features under one 
keyword called 'amplify'. I've also added the 'amplify', rgb, color 
vector multiplier feature to additional {} blocks too (not yet media{}). 
The thought is to let users adjust the color contribution intensities 
from various features in some standardized, SDL defined, way.

If media gets a little dim to tastes, use perhaps

media { Media00 ... amplify <1.3,1.2,1.5> }

If after, the reflection from that mirror looks too bright,

reflection { ... amplify <1/1.3,1/1.2,1/1.5> }


Post a reply to this message

From: Cousin Ricky
Subject: Re: Extreme spectral photons
Date: 11 Sep 2025 10:27:58
Message: <68c2dc6e$1@news.povray.org>
On 2025-09-11 03:24 (-4), William F Pokorny wrote:
> On 9/10/25 20:08, Cousin Ricky wrote:
>> I tried samples 10, 10, and that improved the reflection; but now the
>> media photons are considerably dimmer than before.
> 
> [snip]
> 
> A simple example. Suppose looking down on the media box we have,
> vertically, a very thin layer of deposited photons. In our set up we
> take 3 primary samples and no adaptive samples. Further, camera ray
> paths traveling down into the media box are such that only the middle
> sample of the 3 lands in the middle of our thin layer of deposited media
> photons. The resultant media intensity is calculated as 1/3 for the
> three samples.
> 
> Now we up the samples to 10, but still only one of those 10 sample lands
> in our thin layer of deposited photons. The calculated media intensity
> is now 1/10 for the samples taken.
> 
> [snip]
> 
> With that mirror's reflected rays, and our simple example, we could have
> reflected ray paths which run much 'longer' within that thin layer of
> deposited photons than they do more generally in the scene - resulting
> in unrealistically bright reflections.

So, what I'm getting is that my earlier renders were too bright, and the
"dimming" is actually a correction.  I had set my media box much wider
than the light beam because I wanted to catch any light that got
refracted outside reflection layer.  Looks like I'll have to customize
my media container if I want to catch those refracted rays without
blowing up the render time.


Post a reply to this message

From: Alain Martel
Subject: Re: Extreme spectral photons
Date: 11 Sep 2025 18:18:46
Message: <68c34ac6@news.povray.org>
Le 2025-09-11 à 10:27, Cousin Ricky a écrit :
> On 2025-09-11 03:24 (-4), William F Pokorny wrote:
>> On 9/10/25 20:08, Cousin Ricky wrote:
>>> I tried samples 10, 10, and that improved the reflection; but now the
>>> media photons are considerably dimmer than before.
>>
>> [snip]
>>
>> A simple example. Suppose looking down on the media box we have,
>> vertically, a very thin layer of deposited photons. In our set up we
>> take 3 primary samples and no adaptive samples. Further, camera ray
>> paths traveling down into the media box are such that only the middle
>> sample of the 3 lands in the middle of our thin layer of deposited media
>> photons. The resultant media intensity is calculated as 1/3 for the
>> three samples.
>>
>> Now we up the samples to 10, but still only one of those 10 sample lands
>> in our thin layer of deposited photons. The calculated media intensity
>> is now 1/10 for the samples taken.
>>
>> [snip]
>>
>> With that mirror's reflected rays, and our simple example, we could have
>> reflected ray paths which run much 'longer' within that thin layer of
>> deposited photons than they do more generally in the scene - resulting
>> in unrealistically bright reflections.
> 
> So, what I'm getting is that my earlier renders were too bright, and the
> "dimming" is actually a correction.  I had set my media box much wider
> than the light beam because I wanted to catch any light that got
> refracted outside reflection layer.  Looks like I'll have to customize
> my media container if I want to catch those refracted rays without
> blowing up the render time.
> 

Alternate of doing it without any media :

Have a back plane with a white pigment and a finish with «brilliance 0»

Next : Have the beam slant slightly down.

brilliance 0 cause the illumination to be independent from the incident 
angle.


Post a reply to this message

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