Jump to content

  • Log In with Google      Sign In   
  • Create Account


#Actualeppo

Posted 05 April 2013 - 07:45 AM

It really depends on how many leaves/trees you're going to draw.

 

If you want to draw a large amount of trees, you're going to end up with enormous vertex buffersThe demands on video memory will grow rapidly with every baked tree you add, so unless you have a way of quickly streaming large chunks of mesh data in and out of video memory, your foliage will end up eating memory.

 

3. Hardware instancing.

 

Instanced leaves can be placed in smaller 16 bit vertex buffers accompanied by a texture (buffer) filled with transformation matrices. Combined they take up less memory, and can still be drawn in a single batch.

 

The drawback with static instance buffers is they make depth sorting harder and since all leaves carry the same vertex data, it's hard to bake local information like ambient occlusion.


#1eppo

Posted 05 April 2013 - 07:41 AM

It really depends on how many leaves/trees you're going to draw.

 

If you want to draw a large amount of trees, but don't instance the leaves (or at least the individual trees), you're going to end up with enormous vertex buffersThe demands on video memory will grow rapidly with every baked tree you add, so unless you have a way of quickly streaming large chunks of mesh data in and out of video memory, your foliage will end up eating memory.

 

Instanced leaves can be placed in smaller 16 bit vertex buffers accompanied by a texture (buffer) filled with transformation matrices. 'Batching' demands that you draw a lot in a single call, which not necessarily implies that whatever you draw should use up a lot of memory.

 

The drawback with static instance buffers is they make depth sorting harder and since all leaves carry the same vertex data, it's hard to bake local information like ambient occlusion.


PARTNERS