POV-Ray : Newsgroups : povray.newusers : How can I fix surface perfections on my render? : Re: How can I fix surface perfections on my render? Server Time
20 Apr 2024 02:11:20 EDT (-0400)
  Re: How can I fix surface perfections on my render?  
From: Alain Martel
Date: 10 May 2020 12:29:08
Message: <5eb82bd4$1@news.povray.org>
Le 2020-05-09 à 20:47, Cousin Ricky a écrit :
> On 2020-05-09 7:43 PM (-4), circuit wrote:
>> Hey all. Just started using POV-Ray with FreeCAD. I'm trying to render 
>> a solid
>> assembly, and so far have had reasonable success. The issue I'm facing 
>> is that
>> the output surface has a lot of imperfections around edges. You can 
>> see what I
>> mean here:
>>
>> https://i.imgur.com/jmSYFlA.png
> 
> Without seeing the whole scene description file, it's hard to say, but 
> the "imperfections" in the image look like radiosity artifacts.  The 
> setting Radiosity_Normal uses:
>    count 200
>    error_bound 0.3
>    pretrace_end 0.01
> 
> Increasing count will always improve radiosity, but tweaking the other 
> settings can often get the job done more efficiently.  A pretrace_end of 
> 0.01 seemed fine for POV-Ray 3.6, which is what the scene file was 
> designed for; but if your POV-Ray installation is 3.7 or later, 0.01 is 
> inadequate.  The rad_def.inc settings were not updated in the 3.7 update.

They where not even updated for version 3.5, only the version directive 
got updated. They are based on early 3.3, or maybe even older.
That include is in desperate need of a complete overhaul.
Before version 3.5, low_error_factor defaulted to 0.8. Starting with 
version 3.5, the default low_error_factor is 0.5. red_def.inc use that 
old 0.8 value as a base.

> 
> These settings are usually good enough in my experience:
>    error_bound 0.5
>    pretrace_end 2 / max (image_width, image_height)
>    recursion_limit 2
> 
> If there are still artifacts, try changing pretrace_end to:
>    pretrace_end 1 / max (image_width, image_height)
> 
> P.S. As long as your scene file starts with #version 3.6; and uses 
> radiosity, all ambients on non-glowing objects should be set to zero. If 
> your objects and textures have ambients individually applied, and none 
> of your objects glow in the dark, this is easily done with 
> global_settings { ambient_light 0 }.  If you do have glowing objects, 
> you cannot change the global ambient_light; you must instead use 
> #default { finish { ambient 0 } }, and delete or override any ambients 
> on non-glowing objects and textures.
> 

With version 3.7 and later, there is no need to set ambient to zero as 
all ambient become zero when radiosity is used.
You need to use emission for glowing objects.


Post a reply to this message

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