POV-Ray : Newsgroups : povray.beta-test : contained_by bug with multiple lights Server Time
31 Oct 2024 14:08:48 EDT (-0400)
  contained_by bug with multiple lights (Message 1 to 2 of 2)  
From: Smellenbergh
Subject: contained_by bug with multiple lights
Date: 16 Aug 2008 15:01:44
Message: <1ils990.1i61b409dvzaeN%smellenbergh@skynet.be>
When using at least *two* light sources together with at least *three*
isosurfaces, the surface clipped by a spherical container becomes
transparent and dotted.

The following source shows this strange behaviour:
-Removing one of the light sources solves the problem.
-By adding the shadowless keyword in one of the lights, at least the
surface in the shadow is rendered correctly.
-Switching to a box container also solves the problem.
-With less than three isosurface objects it renders a correct surface.

In version 3.6 it renders correctly.

//start scene
#version 3.7;

camera {location  <0,0,-18> look_at <0,0,0> angle 55}

background {rgb <.8,0,0>}

light_source {<-30, 100, -30> color rgb 0.6}
light_source {
  <0, 0, -30> color rgb 0.5
//  shadowless
}

#declare f_sphere = function { internal(61) }
#declare f_rounded_box = function { internal(60) }

isosurface {
  function { f_sphere(x,y/4,z/4,1)}
  contained_by{sphere{0,1.8}}
//  contained_by{box{<-1.6, -1.6,-1.6>,<1.6, 1.6, 1.6>}}
  pigment {rgb 1}
  scale 3
  translate x*-4
}

isosurface {
  function { f_rounded_box(x, y, z, 0.3, 0.8, 1, 0.8)  }
//  contained_by{box{<-0.85, -1.4,-0.25>,<0.85, 1.4, 0.85>}}
  contained_by{sphere{0,0.9}}
  pigment {rgb 1}
  scale 3
  translate x*4
}

isosurface {
  function { f_rounded_box(x, y, z, 0.05, 2, 0.1, 1.4) }
  contained_by{box{<-3, -0.3,-1.5>,<3,0.5,1.5>}}
  pigment {rgb 1}
  scale 3
  translate <0,-4,0>
}
//end scene


-- 

e-mail:sme### [at] skynetbe

http://users.skynet.be/smellenbergh


Post a reply to this message

From: Le Forgeron
Subject: Re: contained_by bug with multiple lights
Date: 17 Aug 2008 04:46:04
Message: <48a7e54c$1@news.povray.org>
Le Sat, 16 Aug 2008 21:01:43 +0200, Smellenbergh a modifié des petits
morceaux de l'univers pour nous faire lire :

> When using at least *two* light sources together with at least *three*
> isosurfaces, the surface clipped by a spherical container becomes
> transparent and dotted.

This scene can be reduced to 1 light source and 1 isosurface when 
reducing the bounding threshold.  (Rendered and comfirmed on beta25, 
linux amd64... no source yet for beta28 :-( )

Seems to be tied to bounding activation and containment by sphere.
(here, the container is also truncating the function, but that is 
allowed, right ?)


Bogus:
povray -Ibug.pov -W640 -H480 +A0.001 +MB1

Correct (at least less noisy sphere):
povray -Ibug.pov -W640 -H480 +A0.001 +MB4

//start scene
#version 3.7;

camera {location  <0,0,-18> look_at <0,0,0> angle 55}

background {rgb <.8,0,0>}

light_source {<-30, 100, -30> color rgb 0.6}

#declare f_sphere = function { internal(61) }
#declare f_rounded_box = function { internal(60) }
isosurface {
  function { f_rounded_box(x, y, z, 0.3, 0.8, 1, 0.8)  }
//  contained_by{box{<-0.85, -1.4,-0.25>,<0.85, 1.4, 0.85>}}
  contained_by{sphere{0,0.9}}
  pigment {rgb 1}
  scale 3
  translate x*4
}

//end scene


Post a reply to this message

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