I'm getting really bad performance from VAOs, wich is the greatest version number of OpenGL in wich VAOs are not mandatory? I will use core context of that version (like 6-8% less drawcalls if using VAOs instead of setting states singulary, also because when states are singular you can avoid in average 3/4 of the calls because become redundant, seems that you can easily outperform drivers in that kind of optimization).
2) Geometry shaders:
Is it possible to emit vertices inside geometry shaders and having those vertices use a vertex format different from the one of the VBO? (says I have particles I just input a set o points (X,Y,Z) and a textureindex (for the texture array) then the geometry shader outputs 4 (or more if want to save some fill rate) vertices and adds to them the UV coordinates wich are easily generated.
Thanks in advance