버텍스 배열을 사용하여 많은 수의 버텍스가 포함 된 비교적 큰 메쉬를 그려 봅니다. 텍스쳐는이 결정되었으며, 그것은의 라인을 따라 직접 모드에서 그리 쉽게 충분 :OpenGL에서 텍스처로 버텍스 배열 결합하기
glBegin(GL_TRIANGLES) {
for (int faceIdx = 0; faceIdx < nFaces; ++faceIdx)
glVertex3fv(&vertexArray[vIdx]);
glTexCoord2fv(&texCoord[vIdx++]);
glVertex3fv(&vertexArray[vIdx]);
glTexCoord2fv(&texCoord[vIdx++]);
glVertex3fv(&vertexArray[vIdx]);
glTexCoord2fv(&texCoord[vIdx++]);
}
}
glEnd();
그러나 가독성, 속도, VBOs로 이동하는 내가 볼 수있는 정점 배열을 (사용하려는 나머지). 단일 버텍스를 배열에 여러 번 넣는 방법이 있습니까?
순간적으로 이해할 수 있듯이 각 꼭지점이 여러 텍스처 좌표를 식별하므로 메시의 각 꼭지점을 메시의면에 나타나는 횟수만큼 지정해야합니다. 메쉬가 근사하는 객체의 월드 이미지), 즉 내 정점/텍셀 좌표 배열은 마치 직접 모드로 채운 것처럼 읽습니다.
반복적 인 정점을 사용하지 않고 텍스처 좌표를 지정하는 동안 정점 배열을 사용할 방법이 있습니까?
며칠 전 (원격으로) 유사한 질문을했습니다. http://stackoverflow.com/questions/7232915/fewer-colors-than-vertices –
위의 코드에서 문제가 보이지 않습니다. Vertex Positions와 Texture Coordinates는 인덱스를 공유 할 수 있지만 각 정점으로 인덱스를 전진시키고 있습니다. BTW, 나는 당신이 전화가 망가 졌다고 명령을 받았다고 생각한다. 다른 모든 속성이 설정되면 glVertex를 호출한다. glBegin ... glEnd 블록에서 마지막 OpenGL 명령은 glVertex 여야합니다. – datenwolf