|
|
On 09/13/2016 12:49 PM, clipka wrote:
> Am 13.09.2016 um 17:51 schrieb William F Pokorny:
>
>> pigment {
>> potential { BLOB | ISOSURFACE }
>> [ threshold BOOL ]
>> [ PIGMENT_MODIFIERS... ]
>> }
>>
>> Looking just at simple blob so far I see a few things.
>>
>> 1) Wondering it the option [threshold BOOL] should be inside the
>> potential block syntactically?
>
> No; the braces around the BLOB or ISOSURFACE are just around the BLOB or
> ISOSURFACE. Strictly speaking, the syntax is
>
> pigment {
> potential { BLOB | ISOSURFACE [ OBJECT_MODIFIERS... ] }
> [ threshold BOOL ]
> [ PIGMENT_MODIFIERS... ]
> }
>
> (for reasons only disclosed to Disciples of the Inner Sanctum), and the
> only reason the braces are there at all is to unambiguously mark the end
> of OBJECT_MODIFIERS, so that there is no ambiguity for statements that
> may be both valid OBJECT_MODIFIERS and PIGMENT_MODIFIERS.
>
> There is a long-standing tradition that pattern parameters are placed on
> the same hierarchical level as pigment/normal/texture/whatever
> modifiers, and `potential` honors this tradition. (Don't be fooled by
> the syntax of the `object` pattern, it is the odd one out and should
> never have been implemented this way in the first place.)
>
OK. Thanks.
Bill P.
Post a reply to this message
|
|