You normally pass images as textures. In your case you'd use either 3 separate textures or a 3 layer texture array which you combine into a RGB tuple in the fragment shader.
The geometry data (XYZ) you'd pass as 3 separate 1-component vertex attributes with 0 stride and each attribute offset pointing to the beginning of the respective data.