I'm wondering if it is possible to have an attribute defined in a shader but then not use it.
For example, say you want your shader to support textures so you have an attribute vec2 textureCord, but then you may have an object you want to render that does not use textures and has no texture coordinates defined. When I try to render such an object it doesn't work. Is there a way to have attributes defined and not use them, or is it necessary to have a second shader?
If it is necessary to have a second shader, how steep is the penalty for binding a new shader?