Must I have texCoord for each vert in Geometry?

When rendering a geometry with VBOs (which JME does) one has to specify several Vertex Buffers and one Index Buffers. The Vertex Buffers can have different element sizes and strides, but essentially need to have the right amount of elements. So you can't have less texture coordinates than vertices when specifying texture coordinates.

You basicly have two choices:

(1) Have another vertex attribute (or a special UV coordinate) which disables texturing and enables vertex colors

(2) Separate the mesh into textured and vertex-colored meshes. Both could live in the same VBO(s). JME doesn't support this at the moment - so it would be a bit hacky.

With (1) you probably won't have any speed up as shader programs are usually compiled in a way that makes them execute the same speed regardless of their input parameters. (2) will result in a faster rendering, but involves more state changes. So if you don't happen to have thousands of non-textured vertices it's very likely that it doesn't bring any speedup.

Great info.  Thanks very much.