POV-Ray : Newsgroups : povray.beta-test : CSG Issues with disc shape. v38 beta 2. : Re: CSG Issues with disc shape. v38 beta 2. Server Time
11 Oct 2025 05:29:16 EDT (-0400)
  Re: CSG Issues with disc shape. v38 beta 2.  
From: William F Pokorny
Date: 10 Oct 2025 15:57:31
Message: <68e9652b@news.povray.org>
On 9/30/25 19:36, William F Pokorny wrote:
>> POV-Ray screwed me.
>>
>> "Unnecessary bounding object removed."
>>
>> Might be time to fix that or update the bounded_by documentation page.
>>
> 
> You can manually bound, if you use '-ur' / 'remove_bounds=off'.

Ugh! In looking more at bounded_by{} and clipped_by{} myself of late, I 
re-discovered / remembered - after thrashing a couple days - that 
official versions of POV-Ray have this weird 3D volume test which limits 
user specified bounding to that which is 'smaller' than the initial 
automatic bounding volume. The code just does this "I know better than 
the user bit," silently.

The yuqk fork removed the volume increase limiting code back in 2017. It 
was always a bad idea for reasons - not the least of which is that it 
often prevents users from working around automatic bounding which isn't 
working correctly.

So... I was too flippant with my initial response with respect to 
official releases of POV-Ray supporting manual bounding and +-ur / 
remove_bounds=. Manual bounding is at least somewhat broken / limited in 
recent official POV-Ray releases.

I'm working in yuqk mostly, and thousands of changes down the road, my 
old head doesn't remember everything different relative to official 
POV-Ray releases. I've been trying to get yuqk's documentation up to 
date - largely for my own sanity in helping me remember changes like 
these - but I'd not gotten to writing updated documentation for 
bounded_by{} and clipped_by{}. :-( FWIW.

There are other yuqk manual bounding differences too. Another of note, 
is that the official POV-Ray code will update bounding based upon the 
clipped_by{} shape(s) alone (or by overriding bounded_by{}). The yuqk 
fork only updates manual bounding based upon any bounded_by{} block(s)!

IIRC, using clipped_by{} to also manually bound was a v3.6 -> v3.7 
change. In any case manual, bounding sometimes needs to be slightly 
larger than any clipped_by{} specifications - we shouldn't be using 
clipped_by{} to set or update bounding.

Bill P.


Post a reply to this message

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