|
|
Hi,
I have bumped into a bug while using the cylindrical bump map feature. For
inward-facing surfaces the bumps are incorrect.
The scene below reproduces the problem. It defines two scenes:
* When clock = 0 the basic problem is shown. Here the vertical bands are
incorrect, which is very apparent due to the discontinuity at the top.
* When clock != 0 a work-around is attempted, which unfortunately fails. Now the
vertical bands are correct, but the inner horizontal bands are incorrect.
I will post the source normal images, as well as the resulting output images in
the images group.
Note, in this example it is of course possible to work-around the issue by
applying CSG. However, that is not so straightforward for the actual scene I
have in mind, as the normal isn't quite as simple. :-(
I found one very similar message in the forum:
http://news.povray.org/povray.general/thread/%3Cweb.4e3c2efc6f470711571dbe980@news.povray.org%3E/.
Here a torus bump map was used instead of cylinder bump map, but the issue is
the same. Unfortunately, there was no sign that this bug has been addressed
since then.
I am experiencing this problem in the following versions:
* The (unoffical) Mac version of POV-Ray 3.7.0
* The Mac version of POV-Ray 3.6.2
Cheers,
Erwin
#include "colors.inc"
camera {
location <1, 1, -1> * 4
angle 30
right x
up y * 3/4
look_at < 0, 0, 0>
}
light_source {
<-1, 5, -4>
color White
}
#local Torus =
torus {
1, 0.3
}
#local Cylinder =
cylinder {
<0, -0.4, 0>,
<0, 0.4, 0>, 1
}
#if (clock = 0)
// Torus with same normal everywhere
// -> Inner horizontal bands OK
// -> Inner vertical bands wrong
object {
object { Torus }
texture {
pigment { color Blue }
normal {
bump_map {
png "TestNormal0.png"
map_type 2
}
translate y * -0.5
bump_size 2
}
}
}
#else
// Torus with inverted normal on inside
// -> Inner horizontal bands wrong
// -> Inner vertical bands OK
difference {
object { Torus }
object { Cylinder }
texture {
pigment { color Red }
normal {
bump_map {
png "TestNormal0.png"
map_type 2
}
translate y * -0.5
bump_size 2
}
}
}
intersection {
object { Torus }
object { Cylinder }
texture {
pigment { color Yellow }
normal {
bump_map {
// Inverse of TestNormal0.png, i.e. Black & White reversed
png "TestNormal1.png"
map_type 2
}
translate y * -0.5
bump_size 2
}
}
}
#end
/* EOF */
Post a reply to this message
|
|