I think the user needs to be able to specify whether the color array should be float or ubyte.