Не знаю, правильно ли я вас поняла. Текстурирование хорошо описано в redbook .
Они используют GLUT в книге, поэтому вы должны найти ответ в примерах.
Вкратце: вызовите glTexCoord2f (u, v) до вызова glVertex (если вы не используете VBO), где u, v - координаты текстуры.
НТН
EDIT:
Извините, теперь я понимаю вопрос.
Я никогда не использовал тесселяторы, но, возможно, я могу помочь: -)
Тесселаторы только находят точки, где должны быть созданы новые вершины. Стандартный glVertex используется для отправки их в графический процессор.
Вы можете использовать свою собственную функцию для рисования вершины. Если вы зарегистрируете обратный вызов с
gluTessCallback(tobj, GLU_TESS_VERTEX, (GLvoid (*) ()) &vertexCallback);
тогда ваша функция вызывается каждый раз, когда создается новая вершина. Вы также можете использовать
gluTessCallback(tobj, GLU_TESS_COMBINE, (GLvoid (*) ()) &combineCallback);
для добавления некоторой информации в вершину - например, нормали, цвета, текс-координаты.
См. redbook - chapter11 пример 11-2
/* a different portion of init() */
gluTessCallback(tobj, GLU_TESS_VERTEX,
(GLvoid (*) ()) &vertexCallback);
gluTessCallback(tobj, GLU_TESS_BEGIN,
(GLvoid (*) ()) &beginCallback);
gluTessCallback(tobj, GLU_TESS_END,
(GLvoid (*) ()) &endCallback);
gluTessCallback(tobj, GLU_TESS_ERROR,
(GLvoid (*) ()) &errorCallback);
gluTessCallback(tobj, GLU_TESS_COMBINE,
(GLvoid (*) ()) &combineCallback);
/* new callback routines registered by these calls */
void vertexCallback(GLvoid *vertex)
{
const GLdouble *pointer;
pointer = (GLdouble *) vertex;
glColor3dv(pointer+3);
glVertex3dv(vertex);
}
void combineCallback(GLdouble coords[3],
GLdouble *vertex_data[4],
GLfloat weight[4], GLdouble **dataOut )
{
GLdouble *vertex;
int i;
vertex = (GLdouble *) malloc(6 * sizeof(GLdouble));
vertex[0] = coords[0];
vertex[1] = coords[1];
vertex[2] = coords[2];
for (i = 3; i < 7; i++)
vertex[i] = weight[0] * vertex_data[0][i]
+ weight[1] * vertex_data[1][i]
+ weight[2] * vertex_data[2][i]
+ weight[3] * vertex_data[3][i];
*dataOut = vertex;
}
Достаточно, как обычно, связать текстуру - сделайте это перед рисованием с помощью тесселяторов.
НТН