[X3D-Public] X3D Followers draft specification addition

Herbert Stocker herbert.stocker at bitmanagement.de
Thu Mar 8 00:48:49 PST 2012


Hi Don and all,

great that you work on the Followers component.

Last x3d call i mentioned that there are default values for a few fields 
that
should be corrected. You have incorporated them already in the prose of the
new nodes. Are you intending to also discuss correcting them for the 
existing
follower nodes in the editor meeting on Monday?

Reason for correcting them is:
a) that the values these fields currently have in the spec do not expose the
     behavior of the follower nodes. A content author first must 
understand to
     set the values of tau, order and duration before they can see what 
a follower
     node does.
b) Current implementations (Instant Reality an Bitmanagement) don't 
follow the
     spec in this respect anyway. Therefore the argument of keeping 
backwards
     compatibility is not relevant, because there is no content which 
relies on the
     default values from the spec.

This is a list of what the values for these fields are in the spec and 
in IR and BS:

*  Field* *Node group* *X3D* *IR* *BS     should be*
   tau       (Dampers)     0     0    1      1 (or better 0.3)
   order     (Dampers)     0     1    3      1 (or better 3)
   duration  (Chasers)     0     1    n/a    1

For the prose of the new nodes, i marked a few things that should be 
adopted.
They are bold and red, and removals received a strike-through style. See 
below.
Is that readable for everybody?

best regards,

/i. A. Herbert Stocker

/
On 24.02.12 03:43, Don Brutzman wrote:
> On 2/8/2012 9:04 AM, Don Brutzman wrote:
>>       ColorChaser
>>       CoordinateChaser
>>       ScalarDamper
>>       TexCoordChaser (if defined, X3D name would be TexCoordChaser2D)
> Draft specification prose follows.  Thanks Dick for heavy-lift assist.
> Review and corrections are most welcome.  This goes final on 12 March.
>
> Reference:
> http://www.web3d.org/files/specifications/19775-1/V3.2/Part01/components/followers.html
>
> Target:
> http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/followers.html
>
> Paragraph numbers should be inserted to achieve alphabetical order of
> nodes.
>
> ==============================================================================
>
> 39.4.A     ColorChaser
>
> ColorChaser: X3DChaserNode {
>    SFColor [in]     set_destination
>    SFColor [in]     set_value
>    SFNode  [in,out] metadata           NULL [X3DMetadataObject]
>    SFBool  [out]    isActive
>    SFColor [out]    value_changed
>    SFTime  []       duration           1    [0,∞)
>    SFColor []       initialDestination 0.8 0.8 0.8
>    SFColor []       initialValue       0.8 0.8 0.8
> }
>
> The ColorChaser animates transitions for single colour values. Whenever the set_destination field receives a*floating point number*  *color value*, the value_changed*field*  creates a transition from its current value to the newly set*number  color*. It creates a smooth transition that ends duration seconds after the last*number  color value*  has been received.
>
> When set_value receives a colour value, any transition currently in process is stopped and value_changed sends this value immediately, creating a jump. The field initialValue can be used to set the initial*initial*  value of value_changed. The field initialDestination should be set to the same value unless a transition to a certain value is to be created right after the scene is loaded or right after the ColorChaser node is created dynamically.
>
> ==============================================================================
>
> 39.4.B     CoordinateChaser
>
> CoordinateChaser: X3DChaserNode {
>    MFVec3f [in]     set_destination
>    MFVec3f [in]     set_value
>    SFNode  [in,out] metadata           NULL [X3DMetadataObject]
>    SFBool  [out]    isActive
>    MFVec3f [out]    value_changed
>    SFTime  []       duration           1    [0,∞)
>    MFVec3f []       initialDestination 0 0 0
>    MFVec3f []       initialValue       0 0 0
> }
>
> The CoordinateChaser animates transitions for*an*array of 3D vectors (e.g., the coordinates of a mesh). Whenever the set_destination field receives an array of 3D vectors, the value_changed*field*  creates a transition*for every array element*from its current value to the newly set*number  value*. It creates a smooth transition that ends duration seconds after the last*number  value*  has been received.
>
> When set_value receives an array of 3D vectors, any transition currently in process is stopped and value_changed sends this value immediately, creating a jump. The field initialValue can be used to set the initial*initial*  value of value_changed. The field initialDestination should be set to the same value unless a transition to a certain value is to be created right after the scene is loaded or right after the CoordinateChaser node is created dynamically.
>
> ==============================================================================
>
> 39.4.C     TexCoordChaser2D
>
> TexCoordChaser2D: X3DChaserNode {
>    MFVec2f [in]     set_destination
>    MFVec2f [in]     set_value
>    SFNode  [in,out] metadata           NULL [X3DMetadataObject]
>    SFBool  [out]    isActive
>    MFVec2f [out]    value_changed
>    SFTime  []       duration           1    [0,∞)
>    MFVec2f []       initialDestination []
>    MFVec2f []       initialValue       []
> }
>
> The TexCoordChaser2D animates transitions for an array of 2D vectors (e.g., the texture coordinates of a mesh). Whenever the set_destination field receives an array of 2D vectors, the value_changed*field*  creates a transition*for every array element*from its current value to the newly set*number  value*. It creates a smooth transition that ends duration seconds after the last*number  value*  has been received.
>
> When set_value receives an array of 2D vectors, any transition currently in process is stopped and value_changed sends this value immediately, creating a jump. The field initialValue can be used to set the initial*initial*  value of value_changed. The field initialDestination should be set to the same value unless a transition to a certain value is to be created right after the scene is loaded or right after the TexCoordChaser2D node is created dynamically.
>
> ==============================================================================
>
> 39.4.D     ScalarDamper
>
> ScalarDamper: X3DDamperNode {
>    SFFloat [in]     set_destination
>    SFFloat [in]     set_value
>    SFNode  [in,out] metadata           NULL  [X3DMetadataObject]
>    SFTime  [in,out] tau                0.3     [0,∞)
>    SFFloat [in,out] tolerance          -1    -1 or [0,∞)
>    SFBool  [out]    isActive
>    SFFloat [out]    value_changed
>    SFFloat []       initialDestination 0
>    SFFloat []       initialValue       0
>    SFInt32 []       order              3     [0..5]
> }
>
> The ScalarDamper animates transitions for single float values.*If the value_changed field is routed to a transparency field of a Material node, then,*  *wW*henever the set_destination field receives a single float value, the ScalarDamper node creates a transition from its current value to the newly set value. It creates a transition that approaches the newly set value asymptotically during a time period of approximately three to four times the value of the field tau depending on the desired accuracy and the value of order. Through this asymptotic approach of the destination value, a smooth transition is created. The order field specifies the smoothness of the transition.
>
> When set_value receives a value, any transition currently in process is stopped and value_changed sends this value immediately, creating a jump to the new value. The field initialValue can be used to set the initial value of the node. The field initialDestination should be set to the same value unless a transition to a certain value is to be created right after the scene is loaded or right after the ScalarDamper node is created dynamically.
>
> ==============================================================================
>
> p.s. other TODO items here:
>
> - restore italics for field names above
> - for each chaser, replace "value value" with "value"
>
> ==============================================================================
>
> Discussion item:
>
> Table 39.5 "Support levels" should add these nodes.  If there are no
> objections, then I recommend we put these four nodes under Level 1,
> rather than creating a Level 2.  A worthy argument can be made
> that a browser compliant with X3D v3.2 Followers Component would
> suddenly be out of compliance with X3D v3.3.  However, the two active
> implementations of the Followers component have each committed
> to add (or refine) support for these nodes in the near future.
> Sticking to simply one level makes the whole business easier for
> authors, rather than propagating an idiosyncrasy forward into all
> future versions of X3D.
>
> There is one apparent counterexample:  Octaga player is no longer a
> Web3D member.  If anyone can encourage them to add the nodes (or for
> that matter, re-lease their plugin), that would great.  Last known
> status was reported 1 year ago.
> http://www.web3d.org/pipermail/x3d-public_web3d.org/2011-February/001468.html
>
> ==============================================================================
>
> all the best, Don


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20120308/a5151e97/attachment.html>


More information about the X3D-Public mailing list