素直にテクスチャを貼ればいい気がするが…

基本的にはライティングしないときはglColorの色、
ライティングするときはglMaterialの色が使われる。
だが、
glEnable(GL_COLOR_MATERIAL);
として、たとえば
glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
とかしておくとglMaterialで設定するAMBIENTとDIFFUSEの代わりに
glColorで設定した色が使われる。
glMaterialはポリゴン単位でしか変更できないがglColorは頂点ごとに変更できる。