When we have less than the "max" number of particles "live" in the scene, I would like to have the other particles not rendered. To do this I am setting setValidVertexCount() to be only as many particles that are live (times 4- one for each vertex of the TriStrip).
However, setting setValidVertexCount does not seem to have any effect if there is valid data in the GeometryArray. In other words, if I set some particles coords/colors etc. then later setValidVertexCount() to less than the valid data, I still set the "dead" triangles in the Shape3D's render.
Am I using this correctly? Do I also need to use setInitialVertexIndex()?
I have tried that too but still didn't get it working correctly.
What is the correct way to limit the GeometryArray's render?
I considered using By-Ref but from what I understand, the direct copy set
methods will be faster than By-Ref in this case because the TriStrip can
be made into vertex bufferes(D3D) or display lists(OGL) and will get T&L
acceleration. Is that correct? Or does all the set() methods
just cause a complete recopy to the hardware anyway so then By-Ref could
be used?
Any ideas on this one?
Thanks for any help.
I tried on DirectX1.2 beta and OpenGL 1.2 release, but it made no difference.
--
___________________________________________________________
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
___________________________________________________________