Once the mixed-immediate mode bugs are fixed, what about rendering particles
outside the scene graph?  Basically as "close to raw OpenGL commands"  I
downloaded a particle system from the main opengl site and was amazed at how
flexible it was and how fast it was.  My plan was to actually port their
code into java and run it in mixed-immediate mode.  They are handling the
transformations on the fly, and setting the vertex colors to get the right
color tinting on the particles, then alpha blending "neutral colored
textures" on each shape.

I looked at their code and thought it all seemed reasonable.  They even
support moving the amount of alpha transparency over time, changing the
colors over time, applying force vectors, gravits, etc.

Bah... I can't find the stuff on www.opengl.org, but I know I have it at
home.  They have a cool demo where you can adjust the parameters on the
system and see the effects in the particles.  let me know if you want me to
dig up the info.

Dave yazel
> ----------
> From:         Shawn Kendall[SMTP:[EMAIL PROTECTED]]
> Reply To:     Discussion list for Java 3D API
> Sent:         Thursday, October 19, 2000 2:19 PM
> To:   [EMAIL PROTECTED]
> Subject:      [JAVA3D] Improving our Particle System - third repost
>
> We have a very basic particle system running for Java3D.
> I have a question on how to improve it's performance but first here are
> few things we learned that may be of some use to others out there.
>
> 1) OrientedShape3D's can not always be used for Particles.  When we first
> started this, we use OrientedShape3D's, but it turns out that
> because the orienting effect happens at the Shape3D level, you can not
> also have a Z rotation of the Shape3D because any and all
> rotations higher in the scene are overwritten by the OrientedShape3D.
> This is of course the point of using OrientedShape3D's, they
> always turn to face the view.  The problem is that we need local Z
> rotation and turn-to-face the view rotation.  For smoke effects in
> particular, you need it to get a "billowing" effect.  So we tried using
> the Billboard behavior with worked fine because we could set the
> behavior higher in the scene than the Z rotation.  But it does not always
> update in the same frame as the view so it looks jittery from time
> to time.  This is a known problem and one of the reason OrientedShape3D
> was created. Alas, it's great for trees but not so for all particle
>
> effects.
>
> 2) We are using separate TransformGroups, Shape3D's and Appearances for
> each particle!  This is the most expensive way, but for the
> test pass, we agreed it would be OK.  However, now we wish to give a try
> at improving this by combining all the particles for a single
> system into one Shape3D and Appearance.  Color/alpha, coords, and
> texture-wise this works out fine because TriStripArray give us
> enough variation to get a good particle effect, i.e. changing position,
> color, alpha, but same texture.  The problem is the orientation of the
> primitive.  It needs to always face the camera, just like a Billboard
> behavior or OrientedShape3D. Now we are thinking of writing our
> own view transformer that would xform each triangle when it does the
> particles update.  This isn't too bad, still not that cheap, but I can't
> even think of another way.  So....
>
> The question is, what is the best/fastest way to xform all those triangles
> to the view?  Is there some "cheat" we can do to just tell it to
> draw them right to the screen without doing any world to view transform,
> bypassing the need to xform them back to the view.  Or maybe
> the Raster Geometry is an option?  We considered doing a few tests with
> that but we except it doesn't really do what we want.  Can
> Rasters scale and rotate?
> Thanks for any help.
>
>
> --
> ___________________________________________________________
>
> Shawn Kendall               Full Sail Real World Education
> Course Director             3300 University BLVD
> Real Time 3D for Gaming     Winter Park FL 32792
> [EMAIL PROTECTED]       http://www.fullsail.com
> ___________________________________________________________
>
>

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to