On 3/28/22 13:43, Cousin Ricky wrote:
> If a hollow object is included in a union, the hollow property is
> disabled. This apparent bug was introduced in POV-Ray 3.7; the hollow
> property is inherited fine in 3.6.
> The following scene illustrates the problem. The left side shows the
> pole and pennant created separately. The middle shows a union of the
> pole and pennant. The right side shows a union of the pole and pennant,
> with an additional hollow keyword at the union level.
In years past, I've dug a little into object modifier propagation
differences between v3.6 and v3.7+. IIRC a lot of them come from POV-Ray
(v3.7+) now taking the default modifiers for the union(c) from the last
object of the union rather than the first (a)(b).
Try flipping the order of objects in the union with the inherited hollow
and "I think" you'll get again a v3.6 result with v3.7 onward versions
(a) - Whether this v3.6 to v3.7+ change is intentional or not I don't
know. There was a lot of C++ - ification after v3.6 and, it could just
be this happened on the conversion to std::vector.
(b) - A useful bit of confirmation for me, if the order flip works for
v3.7+, would be to know whether the same flip causes v3.6 to return the
the darker blue?
(c) - IIRC the differences in modifier defaulting are not confined to
Overall, the issue has been well down on my 'povr' todo list for a long
while because to me it's not clear what the right thing to do is. Seeing
clearly will take a significant investigation I think.
Questions in your scene start with a mesh using hollow without a well
defined interior. They move on to what's right for hollow with fog.
Fog is an after effect which traces to the first surface it sees after
which it calculates an effective result. Why did/does 'hollow' change
the 'fog' result at all? I'm suggesting the dark blue is the 'correct'
result - and an issue unrelated to the modifier union inheritance changes.
I don't immediately know 'why' we get the fog blue over the dark blue
background. Is it the ordering of triangle vertices so the normal
direction is such that the surface intersection with the mesh 'looks
like' the backside of an object? Something else custom with hollow itself?
I'm rambling about the 'hollow' modifier alone. What about other
modifiers in csg between v3.6 and v3.7+ ? All modifiers would need to be
considered for a complete response.
Post a reply to this message