I have been reading up on data formatting for 3D objects so that I can render my meshes as fast as possible in OpenGL. I am quite new to OpenGL so bear with me.
The format for interleaving your meshes goes something like:
position, normal, texture1, texture2 //this I understand
Most formats for 3D meshes, however, don't use this structure. From my understanding the interleaved format is fast for execution but isn't necessarily the best in terms of size, since you never really have as many unique normals as you do vertices, since (if you are using hard shading) all normals for a face would be the same.
A hard shaded basic cube for example has 8 unique vertices and 6 unique normals.
So my question is, is it worth it to set up an interleaved format like this despite the fact that if you had 3 separate buffers you would use MUCH less data?
Also (remember I'm new) is it somehow possible to do pack your vertex information like:
all positions, all normals, all tex1, all tex2 //so all of one type in a sequence
and have different sets of indices for each type? Or is that just dumb?