Да ... градиенты очень легко сделать в OpenGL; вам не нужны текстуры вообще. Работая из памяти здесь ... вы бы просто сделали что-то вроде этого:
glBegin(GL_POLYGON);
glColor3ub(255,0,0); // red
glVertex2f(-1,-1);
glVertex2f(1,-1);
glColor3ub(0,0,255); // blue
glVertex2f(1,1);
glVertex2f(-1,1);
glEnd();
// draws a square that fades from red to blue
Если вы измените цвет вершины, он просто создаст градиент между этими двумя точками.