I actually have two such system you are describing, one for OpenGL and one for
D3D.  I probably have the exact same one.  If you want them let me know.
I hadn't considered mixed-immediate mode.  You talking about doing the Java3D
render calls in PostRender, right?
That probably is the way to go.


"Yazel, David J." wrote:

> 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".

--
___________________________________________________________

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