POV-Ray : Newsgroups : povray.unofficial.patches : Bug in UberPOV blurred reflection Server Time
4 Dec 2024 03:05:17 EST (-0500)
  Bug in UberPOV blurred reflection (Message 1 to 2 of 2)  
From: Cousin Ricky
Subject: Bug in UberPOV blurred reflection
Date: 17 Jan 2014 16:20:01
Message: <web.52d99dc171c7875c306548240@news.povray.org>
Blurred reflection doesn't work on some surfaces parallel to the in the x-y
plane.  (It's a problem for planes and boxes, but not for cylinders.)  The
following scene file illustrates the problem.  The cube on the right has been
rotated ever so slightly, and the problem does not show up.
_______________________________________________________

// +am3 +a0.01 +ac0.999 +r5 +w400 +h225
#version unofficial patch 3.7;
#patch "upov-reflection-roughness" 0.9;

#ifndef (Dolly) #declare Dolly = 0; #end
#ifndef (Boom) #declare Boom = 0; #end

global_settings { assumed_gamma 1  }
#default { finish { diffuse 0.6 ambient rgb 0.16041 } }
camera
{ location <0, 1, -5.6713>
  look_at <0, 1, 0>
  right 1.7778 * x
  up 1.0 * y
  angle 50.3663
  rotate <Boom, Dolly, 0>
}
light_source
{ <-3.3125, 7.6250, -5.7374>, rgb 4045.5
  fade_power 2 fade_distance 0.10417
  spotlight point_at <0, 1, 0> radius 45 falloff 90
}
box
{ -<7, 9, 7>, <7, 9, 7> hollow
  pigment { rgb 1 }
}
plane
{ y, 0
  pigment { checker rgb 0.05 rgb 1 }
}

//============================================

#declare Test = box
{ -1, 1
  pigment { rgb <0.9713, 0.7420, 0.3277> }
  finish
  { ambient 0 diffuse 0
    reflection { 1 metallic roughness 0.0002 }
    specular 1 metallic 1 roughness 0.0002
  }
}

object
{ Test
  translate <-1.1, 1, 0>
}
object
{ Test
  rotate 0.000001 * y
  translate <1.1, 1, 0>
}
_______________________________________________________

POV-Ray version: UberPOV 1.37.0.0-beta.3
Operating system: openSUSE 13.1 GNU/Linux
Hardware: Dell Inspiron 17R, Intel Core i7


Post a reply to this message

From: clipka
Subject: Re: Bug in UberPOV blurred reflection
Date: 18 Jan 2014 01:50:33
Message: <52da2439$1@news.povray.org>
Am 17.01.2014 22:16, schrieb Cousin Ricky:
> Blurred reflection doesn't work on some surfaces parallel to the in the x-y
> plane.  (It's a problem for planes and boxes, but not for cylinders.)  The
> following scene file illustrates the problem.  The cube on the right has been
> rotated ever so slightly, and the problem does not show up.

That's seriously odd; for the blurred reflections algorithm it shouldn't 
make any difference which type of primitive is used - all it knows and 
cares about is the surface normal.

The only conclusion I can draw from this (after having confirmed your 
observations) is that there are two issues involved here:

(1) A flaw in the box code that makes it return a flipped normal for the 
x-y faces. (This isn't strictly a bug, as the code downstream is 
supposed to cope with flipped normals.)

(2) A bug in the blurred reflection code that makes it break down if the 
normal is either +z or -z and points the wrong way round. (Most likely 
the bug is not in the blurred reflections code itself, but auxiliary 
code that is supposed to flip the normal as needed.)


(BTW, experiments show that cylinders /are/ affected as well, but only 
at one end.)


Post a reply to this message

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