POV-Ray : Newsgroups : povray.beta-test : More To Test Server Time
22 Dec 2024 09:40:53 EST (-0500)
  More To Test (Message 1 to 10 of 19)  
Goto Latest 10 Messages Next 9 Messages >>>
From: clipka
Subject: More To Test
Date: 25 Nov 2016 01:14:05
Message: <5837d6ad$1@news.povray.org>
Hi folks,

yet another new version to test:

https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8889454

This version adds a new pigment pattern:

    pigment {
      user_defined {
        function { RED_FUNCTION },
        function { GREEN_FUNCTION },
        function { BLUE_FUNCTION },
        function { FILTER_FUNCTION },
        function { TRANSMIT_FUNCTION }
      }
    }

Each function is optional, in which case the corresponding component is
set to 0. For example, the following sets the colour to rgbft <x,y,0,0,z>:

    pigment {
      user_defined {
        function { x },
        function { y },
        ,,
        function { z }
      }
    }


Aside from that, the version also includes the data container update as
well as the transmission-based highlights/reflections knockout update.


Post a reply to this message

From: Mike Horvath
Subject: Re: More To Test
Date: 25 Nov 2016 01:39:28
Message: <5837dca0$1@news.povray.org>
On 11/25/2016 1:13 AM, clipka wrote:
> Hi folks,
>
> yet another new version to test:
>
> https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8889454
>
> This version adds a new pigment pattern:
>
>     pigment {
>       user_defined {
>         function { RED_FUNCTION },
>         function { GREEN_FUNCTION },
>         function { BLUE_FUNCTION },
>         function { FILTER_FUNCTION },
>         function { TRANSMIT_FUNCTION }
>       }
>     }
>
> Each function is optional, in which case the corresponding component is
> set to 0. For example, the following sets the colour to rgbft <x,y,0,0,z>:
>
>     pigment {
>       user_defined {
>         function { x },
>         function { y },
>         ,,
>         function { z }
>       }
>     }
>
>
> Aside from that, the version also includes the data container update as
> well as the transmission-based highlights/reflections knockout update.
>

Does it work like a parametric? Can you input the same values?


Mike


Post a reply to this message

From: Mike Horvath
Subject: Re: More To Test
Date: 25 Nov 2016 02:15:44
Message: <5837e520$1@news.povray.org>
On 11/25/2016 1:39 AM, Mike Horvath wrote:
> On 11/25/2016 1:13 AM, clipka wrote:
>> Hi folks,
>>
>> yet another new version to test:
>>
>> https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8889454
>>
>> This version adds a new pigment pattern:
>>
>>     pigment {
>>       user_defined {
>>         function { RED_FUNCTION },
>>         function { GREEN_FUNCTION },
>>         function { BLUE_FUNCTION },
>>         function { FILTER_FUNCTION },
>>         function { TRANSMIT_FUNCTION }
>>       }
>>     }
>>
>> Each function is optional, in which case the corresponding component is
>> set to 0. For example, the following sets the colour to rgbft
>> <x,y,0,0,z>:
>>
>>     pigment {
>>       user_defined {
>>         function { x },
>>         function { y },
>>         ,,
>>         function { z }
>>       }
>>     }
>>
>>
>> Aside from that, the version also includes the data container update as
>> well as the transmission-based highlights/reflections knockout update.
>>
>
> Does it work like a parametric? Can you input the same values?
>
>
> Mike

Never mind. Stupid question.

Mike


Post a reply to this message

From: Jim Holsenback
Subject: Re: More To Test
Date: 25 Nov 2016 09:29:31
Message: <58384acb$1@news.povray.org>
On 11/25/2016 1:13 AM, clipka wrote:
> yet another new version to test:
>
> https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8889454

this version causes a warning then an error with an include file that i 
use often ... message followed by offending line

Warning: Float value promoted to full color vector where both filter and 
transmit >0.0.

#local OTO_FMask = function{ pattern{ pigment_pattern{ checker 0, 1 
warp{planar} } } }


Error: Bad operands for period operator.

#local Pt1 = Vec + x*(OTO_Get_Offset(Vec).x) + y*(OTO_Get_Offset(Vec+x).y);

3.7.1-alpha.8789352 doesn't have this problem(s)


Post a reply to this message

From: clipka
Subject: Re: More To Test
Date: 25 Nov 2016 10:22:41
Message: <58385741$1@news.povray.org>
Am 25.11.2016 um 15:29 schrieb Jim Holsenback:
> Error: Bad operands for period operator.
> 
> #local Pt1 = Vec + x*(OTO_Get_Offset(Vec).x) + y*(OTO_Get_Offset(Vec+x).y);

Need more input -- what is OTO_Get_Offset(..)?


Post a reply to this message

From: Jim Holsenback
Subject: Re: More To Test
Date: 25 Nov 2016 10:30:11
Message: <58385903$1@news.povray.org>
On 11/25/2016 10:21 AM, clipka wrote:
> Am 25.11.2016 um 15:29 schrieb Jim Holsenback:
>> Error: Bad operands for period operator.
>>
>> #local Pt1 = Vec + x*(OTO_Get_Offset(Vec).x) + y*(OTO_Get_Offset(Vec+x).y);
>
> Need more input -- what is OTO_Get_Offset(..)?
>
it's in sam's odd tiles marco ... attached is complete include


Post a reply to this message


Attachments:
Download 'otoc.inc.txt' (5 KB)

From: clipka
Subject: Re: More To Test
Date: 25 Nov 2016 10:37:00
Message: <58385a9c$1@news.povray.org>
Am 25.11.2016 um 15:29 schrieb Jim Holsenback:
> Warning: Float value promoted to full color vector where both filter and
> transmit >0.0.
> 
> #local OTO_FMask = function{ pattern{ pigment_pattern{ checker 0, 1
> warp{planar} } } }

This has to be considered a flaw in the include file: Instead of

    checker 0, 1

it should use

    checker rgb 0, rgb 1


Just specifying a bare scalar where a colour is expected will promote
the scalar to all colour channels, including both filter and transmit,
which is rarely intended.


Post a reply to this message

From: clipka
Subject: Re: More To Test
Date: 25 Nov 2016 11:21:25
Message: <58386505$1@news.povray.org>
Am 25.11.2016 um 16:30 schrieb Jim Holsenback:
> On 11/25/2016 10:21 AM, clipka wrote:
>> Am 25.11.2016 um 15:29 schrieb Jim Holsenback:
>>> Error: Bad operands for period operator.
>>>
>>> #local Pt1 = Vec + x*(OTO_Get_Offset(Vec).x) +
>>> y*(OTO_Get_Offset(Vec+x).y);
>>
>> Need more input -- what is OTO_Get_Offset(..)?
>>
> it's in sam's odd tiles marco ... attached is complete include

It's a bug in OTO_Get_Offset(), which had previously been lying somewhat
dormant, but has now been exposed.

The macro evaluates to something of the form

    V*S

where V is a vector expression and S is a scalar expression. It is used
in an expression of the form

    M().y

which evaluates to

    V*S.y

Since the dot operator binds stronger than the multiplication operator,
this should be equivalent to

    V*(S.y)

which is illegal, and has always been, since S only has a single dimension.

However, this was masked in earlier versions by an internal bug in
scalar-to-vector promotion (reported on GitHub as issue #130), which
caused POV-Ray to immediately promote S to a vector of the same
dimensions as V, when the correct behaviour should have been to first
evaluate (S.y) and then promote the result.


The proper solution would be to add more braces to the expression in
OTO_Get_Offset(), so that the macro expansion yields the proper desired
expression:

    (V*S).y


As a side note, the invoking statement is rather cumbersome, using an
expression of the form:

    x*(V1.x) + y*(V2.y)

This can easily be abbreviated to:

    x*V1 + y*V2

or

    <V1.x, V2.y>

(though the latter definitely requires the macro to be fixed).


Post a reply to this message

From: Jim Holsenback
Subject: Re: More To Test
Date: 25 Nov 2016 11:41:15
Message: <583869ab$1@news.povray.org>
On 11/25/2016 11:20 AM, clipka wrote:
> Am 25.11.2016 um 16:30 schrieb Jim Holsenback:
>> On 11/25/2016 10:21 AM, clipka wrote:
>>> Am 25.11.2016 um 15:29 schrieb Jim Holsenback:
>>>> Error: Bad operands for period operator.
>>>>
>>>> #local Pt1 = Vec + x*(OTO_Get_Offset(Vec).x) +
>>>> y*(OTO_Get_Offset(Vec+x).y);
>>>
>>> Need more input -- what is OTO_Get_Offset(..)?
>>>
>> it's in sam's odd tiles marco ... attached is complete include
>
> It's a bug in OTO_Get_Offset(), which had previously been lying somewhat
> dormant, but has now been exposed.

come again ... are we looking at the same thing?

in the include file i'm seeing:

#macro OTO_Get_Offset(Cell)
   #local CX = Cell.x;
   #local CY = Cell.y;
   (1-Bev*2)*<1,1,0>*(.5-OTO_FOffs(CX,CY,0))
#end


Post a reply to this message

From: Jim Holsenback
Subject: Re: More To Test
Date: 26 Nov 2016 06:14:20
Message: <58396e8c$1@news.povray.org>
On 11/25/2016 11:41 AM, Jim Holsenback wrote:
> On 11/25/2016 11:20 AM, clipka wrote:
>> Am 25.11.2016 um 16:30 schrieb Jim Holsenback:
>>> On 11/25/2016 10:21 AM, clipka wrote:
>>>> Am 25.11.2016 um 15:29 schrieb Jim Holsenback:
>>>>> Error: Bad operands for period operator.
>>>>>
>>>>> #local Pt1 = Vec + x*(OTO_Get_Offset(Vec).x) +
>>>>> y*(OTO_Get_Offset(Vec+x).y);
>>>>
>>>> Need more input -- what is OTO_Get_Offset(..)?
>>>>
>>> it's in sam's odd tiles marco ... attached is complete include
>>
>> It's a bug in OTO_Get_Offset(), which had previously been lying somewhat
>> dormant, but has now been exposed.
>
> come again ... are we looking at the same thing?
>
> in the include file i'm seeing:
>
> #macro OTO_Get_Offset(Cell)
>   #local CX = Cell.x;
>   #local CY = Cell.y;
>   (1-Bev*2)*<1,1,0>*(.5-OTO_FOffs(CX,CY,0))
> #end

no help?!?


Post a reply to this message

Goto Latest 10 Messages Next 9 Messages >>>

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