2010-05-23 3 views

답변

1

잘 모르겠습니다. 텍스처링은 redbook에 잘 설명되어 있습니다. 그들은 책에서 GLUT를 사용하므로 예제에서 대답을 찾아야합니다.

요약 : glVertex (VBO를 사용하지 않는 경우)를 호출하기 전에 glTexCoord2f (u, v)를 호출합니다. 여기서 u, v는 텍스처 좌표입니다.

HTH

편집 : 미안, 지금은 질문을 이해합니다.

나는 tesselators을 사용한 적이 있지만, 어쩌면 난 단지 새로운 정점 작성해야 포인트를 찾을 수

Tesselators :-) 도움이 될 수 있습니다. 표준 glVertex는이를 GPU로 전송하는 데 사용됩니다.

고유 한 기능을 사용하여 정점을 그릴 수 있습니다.

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; 
} 

으로 보통 질감을 결합하기에 충분해야한다 참조 - tesselators로 그리기 전에 그것을 할. 텍스쳐 보간한다 테설 레이터가 그것으로부터 유도 된 정점 좌표에 기초

+0

그러나 GLUTess를 사용할 때마다 각 꼭지점을 호출 할 수 없으므로 문제가됩니다. – jmasterx

0

HTH. 또 다른 방법은 상황에 맞는 경우 자동 텍스처 좌표 생성을 사용하는 것입니다.