So I'm developing my first game " engine " for a game programming class assignment.
So my engine consists of a Quad Class, a Sprite Class (child of quad), and some child classes of Sprite that I use for testing purposes.
So the way I have it setup every " Quad " has its own Vertex Buffer , Index Buffer , Vertex Array , Shader Program (vertex + frag), Texture, and some math structures (vectors, martrices etc) that I use in and outside of the vertex shader.
I am doing really simple 2D stuff at the moment so optimization isn't critical, however, when designing an engine that can produce multiple textured primitives would each primitive need to contain its own Vertex Buffer, Index Buffer, Vertex Array etc... Cause reading through articles I know it is possible to get multiple primitives on screen with only one VAO/VBO etc...
Sorry. I've been through a lot of tutorials and they all do things differently so I'm getting very confused.