Original Post
sorry if this topic has already been discussed...
i''m considering which optimizations to add to my rendering engine, and i''m curious about a few things. I''m currently using an octree, so as the user looks around and moves, the software vertex buffer is filled with only the visible triangles, blah blah.
i''m wondering if creating a hardware accelerated vertex buffer will noticably speed things up. the reason i''m thinking it might not be a major speed improvement is that the triangles have to be updated every frame anyway, unless the user stops moving and looking around. so moving them back and forth to the video hardware might not be faster than just sending them from client memory every frame. obviously if the user stops moving and the visible triangles are the same from one frame to another, it is an improvement, but aside from that...
another improvement i am thinking about is calls like glDrawElements (or a similar function in another API), where u have a triangle buffer and an index buffer, and only draw those triangles that are indexed by the index buffer. the problem i can see with this method is with *large* levels. if u have to store a monumental amount of triangles (and only a small amount will be indexed at any one time), will there be enough memory on the video hardware to support it? i know this strongly depends on the video card capability and other things, but to the extent that it is a general question...
