[x3d-public] Proposal for New Fields for ParticleSystem

Don Brutzman don.brutzman at gmail.com
Tue Nov 4 15:40:25 PST 2025


John: please be aware that

   - The use of pseudorandom values for scale or color, as outlined in my
   prior message to you, is simply an author option that does not affect the
   proposed design refinements of the ParticleSet node.  Authors can create
   any set of values they want for modifying particle color, scale, and
   texture coordinates for various geometry types.  This is a big palette to
   create with!
   - If you want to do GPU programming, please do so.  X3D has a Shaders
   component, which Holger mentioned to you last week.  We are not expanding
   the scope of ParticleSet requirements, but merely adding some extra
   enhancements which are straightforward and simple to integrate.

Holger:

   - I too like the idea of consistent design (with all of other X3D
   animation) by making the key parameters normalized to a float range of
   [0,1] and letting lifetimeVariation modify the time interval.  In addition
   to common design, it also helps authors to more easily create consistent
   controls for all of their time-varying animation.
   - This approach also avoids any mismatch between MFloat typing, keeping
   such values as floats and not time intervals, thus avoiding any
   backwards-compatibility issues (that can be troublesome for specifications
   and implementations).
   - Thank you for pointing out that texCoord/texCoordKey fields are also
   part of this mix.
   - I will work on adjusting the draft prose in the proposed change and
   report back when ready for further review.  Dick and I will also discuss in
   an upcoming Specification Editors meeting.

Have fun with X3D ParticleSet!

all the best, Don
-- 
X3D Graphics, Maritime Robotics, Distributed Simulation
Relative Motion Consulting  https://RelativeMotion.info


On Mon, Nov 3, 2025 at 8:50 PM John Carlson <yottzumm at gmail.com> wrote:

> I would prefer if the pseudorandom list of scaleKey values to be created
> as a particle system, similar to how WindPhysicsModel works, rather than
> explicitly creating such values.  Indeed, when I tried to create
> VariationalPhysicsModel, I used WindPhysicsModel as a basis.
>
> I don’t want to “swap out” Coordinate nodes, I want 6 separate
> VariationalPhysicsModels, or 6 scaleKey fields that are like particle
> systems.
>
> I realize I can use a script, but I really want to do this integrated with
> the GPU, because JavaScript computation of surface coordinates on the
> surface is way too slow.  The 6 scale keys are key to generating the
> surface.   If I have any hope of scaling this up to thousands of surfaces,
> it’s got to be on the GPU.    That is, I’ve got to have any randomness
> ultimately on the GPU, or pseudorandom numbers streamed to the GPU.
>
> A whole another aspect is having the 6 scaleKey current values controlled
> by multiple users, but that’s a whole another project.
>
> John
>
> On Sun, Nov 2, 2025 at 7:45 PM Don Brutzman via x3d-public <
> x3d-public at web3d.org> wrote:
>
>> John, it is straightforward to generate a pseudorandom list of scale
>> values using the *scale/scaleKey* field definitions that Holger has
>> recommended.
>>
>>    - Create a Coordinate node that has a list of individual SFVec3f
>>    scale values in the MFVec3f Coordinate.points field.  As Holger indicated,
>>    you can sample that using however many *scaleKey *intervals you want.
>>    - If one jittery Coordinate node isn't enough for you, you can
>>    generate more than one and swap them out.
>>    - Generation of such pseudorandom Coordinate nodes can be done
>>    programmatically at authoring time.
>>    - Generation of such pseudorandom Coordinate nodes can also be done
>>    at run time using a Script node.
>>
>> Hopefully the draft specification prose helps untangle this.  The 3-tuple
>> scale values go into the Coordinate node points field, and a scaleKey array
>> lists corresponding time in seconds for each transition.
>>
>> There is a lot of expressive power here.  Have fun with X3D ParticleSet
>> particle scaling!   😀
>>
>> all the best, Don
>> --
>> X3D Graphics, Maritime Robotics, Distributed Simulation
>> Relative Motion Consulting  https://RelativeMotion.info
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20251104/3bfd6d95/attachment.html>


More information about the x3d-public mailing list