In my current OpenGL-based game I'm using the approach of having different vertex formats for different purposes, e.g, my TerrainVertex has Position,Position2,Normal,Data1,Data2 , my ModelVertex has Position,TexCoords,Normal.
However, more and more I see examples of people using independent buffers of data for the different attributes, eg, one buffer for Position, one buffer for TexCoord.
My question; is the reason why people choose multiple independent buffers a performance one, or an ease-of-use one?
I know that using only the Position buffer for geometry to be rendered from a lights perspective (for shadow mapping, no texcoords needed etc) can save on the amount of data that the GPU has to work with for that specific operation, but is there a performance hit for binding 5 independent buffers per object to be drawn?
I currently have up to around 600 VBO's being drawn at one time (large scale chunk-based terrain) and I'm facing the task of rendering all that geometry again in order to generate a shadow map which will bring my frame rate below acceptable levels, so I'm trying to decide if splitting my VBO's into one buffer per attribute will be better in the long run or not.