If I have an array of 3 bytes per vertex - which I'm padding to 4 bytes to keep each vertex data in a 4-byte word - and pass it down to the vertex shader as a GL_UNSIGNED_BYTE data type, how does it appear in the shader? Does it get automatically converted into 4 floats? In other words, can I use the data in the shader as a vec4?
Also, will the float be normalize between 0. and 1., or will it be converted into a number from 0. to 255.?
If anybody has a link with a reference on how these non-integer, non-float data are passed down to the vertex shader I would appreciate it.