POV-Ray : Newsgroups : povray.general : light_group and photons Server Time
1 Nov 2024 09:20:07 EDT (-0400)
  light_group and photons (Message 1 to 6 of 6)  
From: James Holsenback
Subject: light_group and photons
Date: 16 Sep 2012 08:55:15
Message: <5055cc33$1@news.povray.org>
Struggling a bit to light my amethyst ring (posted in p.b.images) and 
decided to try a light_group. I have:

union {
   light_group {
     object { Stone material { StoneMaterial } hollow on }
     light_source { Stone_Light }
     #if (UsePhotons)
       photons {target reflection on refraction on collect off }
     #end
     global_lights off
     }
   object { Band material { BandMaterial }
   }

The stone light has reflection/refraction set to on and the scene light 
has them turned off, but I get: Photon Warning: Could not save photon 
map - no photons!

Is this even possible, or am I on a fools errand?


Post a reply to this message

From: Alain
Subject: Re: light_group and photons
Date: 16 Sep 2012 13:20:44
Message: <50560a6c$1@news.povray.org>

> Struggling a bit to light my amethyst ring (posted in p.b.images) and
> decided to try a light_group. I have:
>
> union {
>    light_group {
>      object { Stone material { StoneMaterial } hollow on }
>      light_source { Stone_Light }
>      #if (UsePhotons)
>        photons {target reflection on refraction on collect off }
>      #end
>      global_lights off
>      }
>    object { Band material { BandMaterial }
>    }
>
> The stone light has reflection/refraction set to on and the scene light
> has them turned off, but I get: Photon Warning: Could not save photon
> map - no photons!
>
> Is this even possible, or am I on a fools errand?

How can you shoot protons to the light_source?
I think that you should put the photons block with the Stone object and 
have none for the actual light_source. The light will use the default 
photons setting where both reflection and refraction are enabled.
By the way, unless your stone contains some media, the hollow attribute 
is useless.


Alain


Post a reply to this message

From: James Holsenback
Subject: Re: light_group and photons
Date: 17 Sep 2012 07:28:17
Message: <50570951$1@news.povray.org>
On 09/16/2012 01:20 PM, Alain wrote:

>> Struggling a bit to light my amethyst ring (posted in p.b.images) and
>> decided to try a light_group. I have:
>>
>> union {
>>    light_group {
>>      object { Stone material { StoneMaterial } hollow on }
>>      light_source { Stone_Light }
>>      #if (UsePhotons)
>>        photons {target reflection on refraction on collect off }
>>      #end
>>      global_lights off
>>      }
>>    object { Band material { BandMaterial }
>>    }
>>
>> The stone light has reflection/refraction set to on and the scene light
>> has them turned off, but I get: Photon Warning: Could not save photon
>> map - no photons!
>>
>> Is this even possible, or am I on a fools errand?
>
> How can you shoot protons to the light_source?

LOL ... frustrated and snagged wrong example.

> I think that you should put the photons block with the Stone object and
> have none for the actual light_source. The light will use the default
> photons setting where both reflection and refraction are enabled.

Already tried that incantation. Still think photons and light_group is a 
no go. I'll prepare a better example when I get a chance.

> By the way, unless your stone contains some media, the hollow attribute
> is useless.

poseray did that just didn't bother removing it

>
>
> Alain


Post a reply to this message

From: James Holsenback
Subject: Re: light_group and photons
Date: 17 Sep 2012 12:04:52
Message: <50574a24@news.povray.org>
On 09/17/2012 07:28 AM, James Holsenback wrote:
> Already tried that incantation. Still think photons and light_group is a
> no go. I'll prepare a better example when I get a chance.

OK ... below is a simplified scene used to show the problem I'm having. 
The scene is initially setup with the Key_Light as the photon source and 
/without/ the light_group ... it shows that indeed it does shoot photons 
properly.

Now remove comments from around the light_group code in the Ring 
definition, and in the Key_Light change reflection/refraction from /on/ 
to /off/ (now I want the Stone_Light to be the photon source) and see 
what I mean.

Maybe not related but why does the stone shadow /still/ appear to be 
coming from the Key_Light and /not/ the Stone_Light ... I have 
global_lights set to off in the light_group!

Here's the scene file:
// render using: povray +p +w1120 +h630 Work.pov
#version 3.7;

#default {finish {ambient 0 emission 0 diffuse 0.6}}

#declare PQ = 1;

#if (PQ > 0)
   #declare UsePhotons = yes;
   #declare PhotonRun = yes; // change to "no" to reuse a map
#end

#switch (PQ)
   #case (0)
     #declare UsePhotons = no;
   #break
   #case (1)
     #declare S_val = 0.1;
     #declare T_val = 5;
		#declare C_val = 15000;
   #break
   #case (2)
     #declare S_val = 0.025;
      #declare T_val = 10;
		#declare C_val = 30000;
   #break
   #case (3)
     #declare S_val = 0.00625;
     #declare T_val = 50;
		#declare C_val = 60000;
   #break
#end

global_settings {
	max_trace_level 64
	adc_bailout 0.00001
	noise_generator 3
	assumed_gamma 1.0
	#if(UsePhotons)
		photons {
			spacing S_val
			autostop 1
			max_trace_level T_val
			count C_val
			#if (PhotonRun)
				save_file "Work.ph"
			#else
				load_file "Work.ph"
			#end
			}
	#end
	}

camera {
	perspective
	location <0,0,-10>
	rotate x*35
	rotate y*10
	look_at <0,1,0>
	right  x*4/3
	direction 1*z
	}

#declare Key_Light =
light_source {
	#declare LightColor = srgb 1;
	0, LightColor
	translate <0,0,-15>
	#if (UsePhotons)
		photons { reflection on refraction on }
	#end
	}

// -- The Stone Light ( in a light_group )
#declare Stone_Light =
light_source {
	#declare LightColor = srgb 1;
	0, LightColor
	translate <0,2,5>
	looks_like {sphere {0,0.125 pigment { srgb <1,1,0>}} }
	#if (UsePhotons)
		photons { reflection on refraction on }
	#end
	}

#declare Stone =	
sphere { 0,1
	material{
	texture{
		pigment{
			srgbf <0.4980, 0.2902, 0.4235,1>
			}
		normal { facets coords 1 size 0.25}								
		finish{
			specular 1
       			roughness 0.01
			diffuse 0.6
			reflection{
				srgb <0.4980, 0.2902, 0.4235>*0.1, srgb <0.4980, 0.2902, 
0.4235>*0.125 fresnel on
				}
			}
		}
	interior {
		ior 1.75
		fade_distance 2
		fade_power 1001
		fade_color <0.4980, 0.2902, 0.4235>
		#if (UsePhotons)
			caustics 1.0
			dispersion 1.05
			dispersion_samples 10
		#end
		}
	}
	#if (UsePhotons)
		photons { target reflection on refraction on collect off }
	#end
	}

#declare Band =
torus { 3,0.25
	material{
		texture{
			pigment{
				srgb <0.8100,0.7100,0.2300>
				}
			finish{
				specular 0.8
				roughness 0.1
				diffuse 0.6
				metallic
				brilliance 5
				reflection{srgb <0.8100,0.7100,0.2300>*0.75, srgb 
<0.8100,0.7100,0.2300>}
				}
			}
		}
	}

#declare Ring =
union {
	//light_group {
		object{
			Stone
			#if (UsePhotons)
				photons { target reflection on refraction on collect off }
			#end
			}
		//light_source { Stone_Light }
		//global_lights off
		//}
	object{
		Band
		translate x*3.95
		}
	translate <-3.95/2,2,0>
	}

object { Key_Light rotate x*45 rotate y*30 }
background { srgb 1 }
plane { y,0 pigment { srgb 1 } }
object { Ring }


Post a reply to this message

From: Alain
Subject: Re: light_group and photons
Date: 20 Sep 2012 01:34:40
Message: <505aaaf0@news.povray.org>

> On 09/17/2012 07:28 AM, James Holsenback wrote:
>> Already tried that incantation. Still think photons and light_group is a
>> no go. I'll prepare a better example when I get a chance.
>
> OK ... below is a simplified scene used to show the problem I'm having.
> The scene is initially setup with the Key_Light as the photon source and
> /without/ the light_group ... it shows that indeed it does shoot photons
> properly.
>
> Now remove comments from around the light_group code in the Ring
> definition, and in the Key_Light change reflection/refraction from /on/
> to /off/ (now I want the Stone_Light to be the photon source) and see
> what I mean.
>
> Maybe not related but why does the stone shadow /still/ appear to be
> coming from the Key_Light and /not/ the Stone_Light ... I have
> global_lights set to off in the light_group!
>

It looks like photons from a light_group are indeed broken. They don't 
even show on an added object added in the light_group placed to receive 
them.

Any object can intercept light from any light and cause shadows. The 
appartenance to a light_group don't change that.
Also, any object outside the light_group can cause shadow on an object 
of a light_group if it's situated between the light and it's associated 
object(s).

The only objects that don't cause shadows are those having an explicite 
no_shadow attribute.
The only light that don't cause any shadow are shadowless ones. They 
also never cause any highlight and, by default, never cast any photons. 
I don't know if you can force a shadowless light to cast photons by 
adding photons{refraction on reflection on}.

Remove caustics 1.0. It's only good at simulating caustics under a body 
of water on a relatively flat and level surface.

There is no reason to remove the photons block in a non-photons scene or 
in a test render without photons. In this case, the photons block will 
simply be ignored.

In the global_settings, you must NOT use both spacing and count in the 
photons block. Use only one OR the other.

autostop 1 is the same as not using autostop.


Post a reply to this message

From: James Holsenback
Subject: Re: light_group and photons
Date: 20 Sep 2012 08:28:00
Message: <505b0bd0$1@news.povray.org>
On 09/20/2012 01:34 AM, Alain wrote:

>> On 09/17/2012 07:28 AM, James Holsenback wrote:
>>> Already tried that incantation. Still think photons and light_group is a
>>> no go. I'll prepare a better example when I get a chance.
>>
>> OK ... below is a simplified scene used to show the problem I'm having.
>> The scene is initially setup with the Key_Light as the photon source and
>> /without/ the light_group ... it shows that indeed it does shoot photons
>> properly.
>>
>> Now remove comments from around the light_group code in the Ring
>> definition, and in the Key_Light change reflection/refraction from /on/
>> to /off/ (now I want the Stone_Light to be the photon source) and see
>> what I mean.
>>
>> Maybe not related but why does the stone shadow /still/ appear to be
>> coming from the Key_Light and /not/ the Stone_Light ... I have
>> global_lights set to off in the light_group!
>>
>
> It looks like photons from a light_group are indeed broken. They don't
> even show on an added object added in the light_group placed to receive
> them.
 >
> Any object can intercept light from any light and cause shadows. The
> appartenance to a light_group don't change that.
> Also, any object outside the light_group can cause shadow on an object
> of a light_group if it's situated between the light and it's associated
> object(s).
>
> The only objects that don't cause shadows are those having an explicite
> no_shadow attribute.
> The only light that don't cause any shadow are shadowless ones. They
> also never cause any highlight and, by default, never cast any photons.
> I don't know if you can force a shadowless light to cast photons by
> adding photons{refraction on reflection on}.
>
> Remove caustics 1.0. It's only good at simulating caustics under a body
> of water on a relatively flat and level surface.
>
> There is no reason to remove the photons block in a non-photons scene or
> in a test render without photons. In this case, the photons block will
> simply be ignored.
>
> In the global_settings, you must NOT use both spacing and count in the
> photons block. Use only one OR the other.
>
> autostop 1 is the same as not using autostop.

thanks for the sanity check (i'll file a bug report) and the additional 
information is also useful as photons use is one of my weak areas.


Post a reply to this message

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