VBOs are really designed to optimize more static geometries, they can be used to optimize certain parts of particle rendering (like texture coordinates for non-animated particles, and maybe colors), but are not really a win over the old venerable vertex arrays for vertices. Of course, in theory they offer some advantages because the GPU owns the memory management, and can therefore make assumptions about the lifetime of the allocation that cannot be made with vert arrays. However, whether that translates into better performance in the real world is debatable.
Now for GPU-based particle systems they can be very useful because the input geometry can be made static and simply mutated by shaders over time. Ultimately I think this is a hack though, and the real answer is likely geometry shaders. -Casey On Mon, Aug 24, 2009 at 12:16 PM, Florian Bösch<[email protected]> wrote: > > On Aug 24, 4:54 pm, Tristam MacDonald <[email protected]> wrote: >> > On Aug 24, 1:41 pm, Tristam MacDonald <[email protected]> wrote: >> > > I had to switch that to vertex arrays to achieve that sort of performance >> > > on my integrated card - it might perform even better on your system like >> > > that. >> Here - though you probably have to revert make.sh to work on non-Mac >> systems. > > Indeed that runs a bit faster, that gives me 65000 particles @ 60FPS, > also I added a bit of animation in this iteration :) > Funny though, doing the same trough pyglets VBO wrapper is 3-4x > slower. > > http://codeflow.org/particles2.tgz > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "pyglet-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/pyglet-users?hl=en -~----------~----~----~----~------~----~------~--~---
