|
|
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
|
|
|
|
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
|
|