add texture support; TODO: use texcoord