Yes, i can also imagine that batched can almost cover every case we have.
In my case GeometryInstancing CAN be used, cause I just want to randomly SHIFT the animation start per instance, seed by its InstanceID, you know, just like in the NVIDIA example.
Say for the thousands of football fan in the stadium, they don’t seem like to react to the actions on the field, just yeiling, screaming all the time…
As for thousand blade of grasses, thosands of buildings, asteroids… we can still take advance of GeometryInstancing a lot.
My current solution for the football problem is : Hardware skinning (animation pallete sent via MatrixArray, can be a Texture) + batched geometries … it’s pretty impressed already but… I believe if we can render a single mesh thousand of times without violate the attributes (uniforms, varying…) limit is the BEST solution of all. As show here . http://www.geeks3d.com/20100629/test-opengl-geometry-instancing-geforce-gtx-480-vs-radeon-hd-5870/3/ … It’s a “real” way to do GPU computing.And the more we gain from a single render step the more possiblities we can add to the application (more AI, more physics…).
And I’d like to know more about the tweak needed to use this API for example the Renderer or the Geometry class.
Just saying, we do have a lot of higher API and solution for problems but hidden - in this case not expose ENOUGH API for the user maximize the usage of the GPU parrallel computing yet!