|
289 | POV-Ray | Light source | Possible Bug | 3.70 RC7 | Very Low | Low | area_illumination with light fading and scattering medi... | Tracked on GitHub | |
|
Task Description
with reference to http://bugs.povray.org/task/46
still some issue with area illumination and light fading when interacting with media
seems light fade is not taken into account with scattering media. emission and absorption media seem to work fine. occurs with all scattering types.
#version 3.7;
global_settings {
ambient_light 0
assumed_gamma 1
}
camera {
location <0, 3, -5>
look_at <0, 2, 0>
}
#declare Light = 3; // light 1 = individual lights
// light 2 = standard area light
// light 3 = area light with area illumination
#declare Fade = 1; // light fading: 1 on, 0 off
#declare Media = 1; // media 1 = scattering
// media 2 = emission
// media 3 = absorption
#declare Type = 1; // scattering media type
#switch(Light)
#case(1)
#declare Ls = light_source {
0
1/7
#if(Fade) fade_distance 2 fade_power 2 #end
}
union {
object { Ls }
object { Ls translate .5*x }
object { Ls translate x }
object { Ls translate 1.5*x }
object { Ls translate -.5*x }
object { Ls translate -x }
object { Ls translate -1.5*x }
translate y
}
#break
#case(2)
light_source{
y
1
area_light 3*x, z, 7, 1
#if(Fade) fade_distance 2 fade_power 2 #end
}
#break
#case(3)
light_source{
y
1
area_light 3*x, z, 7, 1
#if(Fade) fade_distance 2 fade_power 2 #end
area_illumination on
}
#break
#end
cylinder { <0, .01, 0>, <0, 5, 0>, 2 pigment { rgbt 1 } hollow no_shadow
interior {
media {
#if(Media = 1) scattering {Type, 30 } #end
#if(Media = 2) emission 2 #end
#if(Media = 3) absorption 2 #end
density { cylindrical turbulence 1.5 scale <1, .14, 1> }
}
}
scale <.15, 1, .4> translate 4*z
}
plane { y,0 pigment { rgb .7 } }
plane { -z,-7 pigment { gradient y color_map { [.5 rgb 1][.5 rgb 0] } } }
union {
sphere { 0,.05 }
sphere { .5*x,.05 }
sphere { x,.05 }
sphere { 1.5*x,.05 }
sphere { -.5*x,.05 }
sphere { -x,.05 }
sphere { -1.5*x,.05 }
translate y
hollow pigment { rgbt 1 } interior { media { emission 10 } }
}
|
|
287 | POV-Ray | Light source | Definite Bug | 3.70 RC7 | Very Low | Low | area_illumination shadow calculation | Tracked on GitHub | |
|
Task Description
not sure if this is something needing further work or an intended effect.
Shadows from and area light with area_illumination on seem to follow the same shadow calculation as a standard area light by giving more weight to lights near the center of the array. I would assume the shadows would be calculated similarly to individual lights in the same pattern as the array by evenly distributing the amount of shadow equally for each light. But this is not what I see.
The code sample below when rendered with scene 1 will show shadows grouped near the center from the area light with area_illumination. If scene 1 is commented out and scene 2 is uncommented then rendered, you will see evenly distributed shadows from individual lights. Area lighting with area_illumination I would assume should give a result identical to scene 2. If scene 1 is rendered with area_illumination off, the shadow calculation is exactly the same as with area_illumination on.
example images rendered on win32 XP
#version 3.7;
global_settings {
ambient_light 0
assumed_gamma 1
}
camera {
location <0, 3, -5>
look_at <0, 2, 0>
}
background { rgb <.3, .5, .8> }
plane { y,0 pigment { rgb .7 } }
torus { 1.5,.1 rotate 90*x translate 4*z pigment { rgb .2 } }
plane { -z,-7 pigment { rgb .7 } }
/*
// scene 1
light_source{
y
1
area_light 3*x, z, 7, 1
area_illumination on
}
union {
sphere { 0,.05 }
sphere { .5*x,.05 }
sphere { x,.05 }
sphere { 1.5*x,.05 }
sphere { -.5*x,.05 }
sphere { -x,.05 }
sphere { -1.5*x,.05 }
translate y
hollow pigment { rgbt 1 } interior { media { emission 10 } }
}
// end scene 1
*/
// scene 2
#declare Light = light_source {
0
1/7
looks_like { sphere { 0,.05 hollow pigment { rgbt 1 } interior { media { emission 10 } } } }
}
union {
object { Light }
object { Light translate .5*x }
object { Light translate x }
object { Light translate 1.5*x }
object { Light translate -.5*x }
object { Light translate -x }
object { Light translate -1.5*x }
translate y
}
// end scene 2
|
|
286 | POV-Ray | Texture/Material/Finish | Possible Bug | 3.70 RC7 | Very Low | Low | reflection exponent other than 1 causes black artifacts... | Tracked on GitHub | |
|
Task Description
[EDIT: Original title was “radiosity causing black patches when using emission less than 0”]
see attached image for reference.
mountain on left has emission set to -.13 and black patches show up, when emmission set to 0 or greater no patches
changing max_trace or any radiosity settings has no effect
setting no_radiosity on mountain fixed problem as a temp fix
code sample ...
#version 3.7;
#default { finish { ambient 0 } }
#declare rad_lvl = 4;
global_settings {
assumed_gamma 1
max_trace_level max(5,rad_lvl*3)
adc_bailout .007
ambient_light 0
radiosity {
pretrace_start 64/max(image_width,image_height)
#if(rad_lvl)
pretrace_end max(2,int(8/rad_lvl))/max(image_width,image_height)
#else
pretrace_end 32/max(image_width,image_height)
#end
count pow(rad_lvl+1,2)*10
nearest_count 1
#if(rad_lvl) error_bound 1/rad_lvl #end
low_error_factor max(.4,(8-rad_lvl)/10)
recursion_limit 1
gray_threshold .25
brightness 1
max_sample 1
normal on
media off
always_sample off
minimum_reuse min(.008,8/max(image_width,image_height))
maximum_reuse .1
adc_bailout .02
}
}
#declare sunC = rgb <1, 1, .9925>; // actual D65 standard illuminant
#declare SkyC = rgb <.3195, .5745, .8805>;
#macro GammaAdj(C,G) rgb <pow(C.red,G),pow(C.green,G),pow(C.blue,G)> #end
light_source {
50000*y
sunC*1.06
area_light <-300, 0, -300>, <300, 100, 300>, 3, 3
rotate <-28, 0, 14>
adaptive 0
circular
}
sphere { 0, 1
texture {
pigment{
gradient y
pigment_map{
[.07 GammaAdj(SkyC,.5)]
[.2 average pigment_map { [.5 GammaAdj(SkyC,.75)][1 wrinkles turbulence .65 octaves 5 lambda 3 omega .9 color_map { [.2 rgb 1][.5 SkyC] } scale <10, .1, 1>] }]
[.4 GammaAdj(SkyC,1.15)]
[.5 GammaAdj(SkyC,1.35)]
}
rotate -75*y scale <1, 1, 100>
}
finish { diffuse .72 }
}
scale 100000
inverse
}
#declare Cam_pos = Cam_pos + <0, 20, -40>;
#declare Cam_lkt = Cam_lkt + <0, 10, 50>;
camera {
location Cam_pos
direction <0,0,1>
right 1.33*x
up y
sky <0,1,0>
#if(Cam_agl) angle Cam_agl #end
look_at Cam_lkt
}
#macro sinai(HillQ)
#local F = function { pattern { granite poly_wave 4 turbulence .01 lambda 2.1 omega .9 scale 5 translate <.2, 0, 18.08> scale <2, 1, 3> } }
#local N = function { pigment { crackle ramp_wave turbulence .3 lambda 2.2 omega .76 color_map {[0 rgb 0][1 rgb 1] } scale .07 translate <-.15, -.12, .13> } }
height_field {
function HillQ, HillQ { F(x,y,z) + N(x,y,z).grey/47 }
water_level .05
clipped_by { box { <0, .05, .3>, <1, 1, 1> } }
translate <-.5, -.05, -.5>
rotate 20*y
texture {
pigment{ crackle color_map { [0 rgb <161, 107, 71>/255][.25 rgb <193, 132, 93>/255][.35 rgb <218, 163, 123>/255][.45 rgb <212, 153, 112>/255][.55 rgb <222, 166, 125>/255][.65 rgb <236, 178, 124>/255][.75 rgb <220, 154, 102>/255][.85 rgb <160, 121, 103>/255] } turbulence .75 lambda 3 omega .7 scale .1 }
finish{ diffuse albedo .56 emission -.13 specular .25 roughness .02 brilliance 1.5 metallic 1.3 }
normal { crackle poly_wave .7 turbulence .4 omega .8 scale <.007, .03, .007> }
}
rotate 12*y
scale <2400, 2000, 3000>*1.5
translate <1900, 0, 1900>
scale <-1,1,1>
no_radiosity
}
#end
sinai(1600)
plane { y,0 pigment { rgb <1, 1, 1> } }
//courtyard gating not included due to size of code and many external files needed. add anything around <0,0,0> to try to reproduce effect of error
|