Shawn:

In the current implementation, Copy-mode may also use VertexArray if the
geometry is editable (i.e. any of the write capability bits are turned set
 for the geometry). By-ref mode always uses vertex array.

Vertex Array still levarages the  hardware T&L. The difference between
using Display List (as in non-editable copy mode) and Vertex Array (in
By-ref mode) is that in Vertex Array,data is sent down to OpenGL every
frame whereas in display list mode, data is sent down only once and this
copy of data exists in OpenGL and therefore Java3D just calls this data by
the id given to it. As I explained in the earlier mail to the alias, in
by-ref mode, Java3D does not want OpenGL to keep a copy of data around and
therefore chooses to send the data down every frame.




> 2) What if changes are made to every coord, every frame?  In copy mode,
> will all those sets() create a vertex buffer/display list bottleneck?
> Or does it have no effect?  If we are making this many changes, this
> often is by-ref better.

If geometry will be changed every frame, since data is editable, Java3D
will use VertexArray whether you use by-copy or by-ref. In this case, I
recommend by-ref mode since Java3D's copy of the data is eliminated in
by-ref mode.



-Uma
Java3D Team

> X-Accept-Language: en
> MIME-Version: 1.0
> Date: Tue, 24 Oct 2000 13:50:00 -0400
> From: Shawn Kendall <[EMAIL PROTECTED]>
> Subject: [JAVA3D] more Particle System and GeometryArrays questions
> To: [EMAIL PROTECTED]
>
> Here is some requests for Java3D team.
> In an effort to make the fastest possible particle system we need a few
> questions answered.
>
> 1) What is the best Geometry mode to use when you need to have variable
> length GeometryArrays?  Should it be copy mode or by-ref mode?  As it
> was explained to me by Kelvin, using by-ref means no hardware T&L,
> because by-ref doesn't use vertex buffers/display lists.  We are
> currently using the copy mode and using setValidVerexCount() to emulate
> a variable length array.  But don't believe it is working correctly
> because performance is apparently effected not by the
> setValidVertexCount, but by the size of the array, meaning if I make the
> array to have 100 particles, but show only one it runs as though there
> are 100.  This may be an incorrect observation at this time because test
> has not been absolutely thorough.  But if I knew the underlining
> operations, I would have to set all these tests.
>
> 2) What if changes are made to every coord, every frame?  In copy mode,
> will all those sets() create a vertex buffer/display list bottleneck?
> Or does it have no effect?  If we are making this many changes, this
> often is by-ref better.
>
>
> I think a thorough explanation of the underlining operations and
> implications of using copying or by-ref Geometry mode is crucial to
> developers putting out the best possible apps using Java3D.  I know the
> philosophy expressed in the online information and API spec is to only
> think Objects and not Polys, but the truth is, systems are not there yet
> and how we use Java3D can make a big difference in execution
> performance.  Without more info on this stuff, we are flying blind, and
> getting the information on a case by case basis is wasting your time
> having to deal with each individual apps goals.  This could all be
> eliminated if you would just publish the actual implementation design
> and techniques, instead of the generic high level Java3D view.
> Failing to release this information but exposing it piecemeal on this
> list is making it more difficult and time consuming to develop.
>
> --
> ___________________________________________________________
>
> 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