사각형의 다른 크기에 좌표질감 I 텍스처처럼 좌표 매핑
static float texCoord[] = {
0, 1,
1, 1,
1, 0,
0, 0
};
하고 그려서 :
void Rectangle::Draw()
{
const float vertices[] = {
x, y,
x + width, y,
x, y - height,
x + width, y - height
};
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glColor3ub(255, 255, 255);
glVertexPointer(2, GL_FLOAT, 0, vertices);
glTexCoordPointer(2, GL_FLOAT, 2, texCoord);
if (IsTypeHorizontal()) glBindTexture(GL_TEXTURE_2D, texture_H);
else /* (IsTypeVertical())*/ glBindTexture(GL_TEXTURE_2D, texture_V);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
}
질감 수직 (높이> 폭)에 그려진 (좋지만 수평 인 높이가 < 인 경우) 텍스처가 거꾸로 표시됩니다. texCoord_H
및 texCoord_V
으로 텍스처 좌표를 분리해도 그려지는 이미지는 여전히 반전됩니까?
알아야 할 사항은 무엇입니까? 여기 내 코드에서 문제는 무엇입니까?
추신. 나는 토양을 사용하여 OpenGL을에 질감을 업로드
내가'GL_TRIANGLE_STRIP''GL_QUADS' – mr5
가 확인되지를 사용하여 쿼드을 그릴 수 있어야 여기
3 매개 변수입니다 나는 texcoord와 포지션이 일치하지 않는다는 것을 알아 차렸다. 그 경우 두 개의 마지막 코디를 바꾼다. –
무엇이'coords'입니까? 나는 그것이 그곳의 문제가 아니라고 생각한다. 'texcoords'와 'vertices'는 같은 점을 사용합니다 (즉 'Z'와 같습니다). – mr5