POV-Ray : Newsgroups : povray.pov4.discussion.general : Suggest v4.0 default items : Re: Suggest v4.0 default items Server Time
23 Feb 2025 18:20:35 EST (-0500)
  Re: Suggest v4.0 default items  
From: William F Pokorny
Date: 23 Feb 2025 01:59:25
Message: <67bac74d$1@news.povray.org>
On 2/22/25 17:26, Bald Eagle wrote:
> DEFAULT_DIRECTIVE:
>    #default {DEFAULT_ITEM }
> DEFAULT_ITEM:
>    TEXTURE | PIGMENT | NORMAL | FINISH

IIRC supported too is a radiosity{} setting - importance I think - and a 
default camera{} can be set. The documentation isn't up to date.

> 
> Maybe this ought to include
> 
> interior_texture
> ior
> 
> possibly others
> 

Others have suggested interior{} be made available. I believe because an 
ior setting of other than the defaulted 1.0 value is necessary for many 
of the new to v3.8 albedo / finish{} level fresnel features to work as 
implemented / intended.

---

FWIW. The plan with yuqk is to eliminate the 'default' directive / 
keyword altogether(***). There are a number of issues with it. My belief 
is version defaults need to be fixed for other downstream features to 
work reliably. I know, it's handy and many of us use the feature.

With ior the long term plan for yuqk is to implement two ior settings. 
One in finish{} (*) which would be the surface ior and the other ior 
still in the interior{} block which would be used for ray traveling 
within object effects. After which, the interior{} blocks would resume 
being optionally attached to objects where in v3.8 / V3.7? they always 
exist (**).

(*) - One can specify an ior in the finish{} block today in official 
POV-Ray releases due an effort to maintain backward compatibility. IIRC, 
  a warning is issued. The yuqk code has a start on the new finish { ior 
} capability, but it's not completely implemented. The default finish { 
ior value } value will be 1.5 - so the new v3.8 finish{} features would 
be set up to work correctly without need to change ior settings.

(**) - I have some guesses, but I'm unsure exactly why we ended up with 
interior{} blocks always attached to objects.

(***) - As clipka used to point out, 'default{}' (like 
global_settings{})  isn't really a language directive, but a keyword 
driven block. These should be specified without the leading '#', but 
official releases of POV-Ray continue to support the old syntax.

The following code was used for the attached images:

//--------------
#version 3.8;

global_settings { assumed_gamma 1.0 }
default { finish {ior 1.5 emission 1.0} camera {} }

sphere { <0,0,2> 0.5 pigment { rgbt <1,0,0,0.9> } hollow }

plane { y, -5 pigment { checker } }
//--------------

The top row comes from today's v3.8 beta 2, where the right column added 
'+mv3.8' to fix a v3.8 defaulting issue (see below).

On the bottom row is yuqk's current result (+mv3.8 not being required as 
yuqk correctly handles the camera{} defaulting).

With yuqk the finish{ ior 1.5 } is partly implemented so it doesn't set 
the interior{} block's ior as do official releases. In other words we 
see no refraction in the yuqk result from the finish {ior 1.5} setting. 


Bill P.

Aside: The camera{} defaulting is tangled with the default{} block and 
#version setting and it's partly broken in v3.8. One must specify +mv3.8 
(or use an ini setting for the version) to get the intended v3.8 camera 
defaulting. Ah, probably adding camera{} at the very bottom of the scene 
file would work as a user fix too - it was an ordering / timing bug.


Post a reply to this message


Attachments:
Download 'somedefaultingdetail.png' (122 KB)

Preview of image 'somedefaultingdetail.png'
somedefaultingdetail.png


 

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