use vec4 instead of vec3 for texture color