저는 현재 두 개의 삼각형과 GL_TRIANGLE_STRIP을 사용하여 텍스처를 그리는 4 코너 폴리곤이 있습니다. 오른쪽면이 더 커야하고, 이것은 뒤죽박죽이다. 삼각형이 가운데에서 교차하는 곳에서 눈에 띄는 차이가 있습니다. 어떻게하면 이렇게 정리할 수 있습니까?OpenGL에서 직사각형 비뚤어 짐
나는 어떤 종류의 affine 변환이 필요하다고 생각합니다. 더 많은 삼각형으로 세분해야한다고 생각하지만, 확실하지 않습니다.
스크린 샷 : http://i.imgur.com/alYdG.png
예제 코드 : 변환과 그 효과를 얻을 수있는 경우
float x = rect.origin.x;
float y = rect.origin.y;
float w = x + rect.size.width;
float h = y + rect.size.height;
V2fT2f quad[4] = {
//x y
{ x, y, 0, 1 },//bottom left
{ w, y-0.2, 1, 1 },//bottom right
{ x, h, 0, 0 },//top left
{ w, h+0.2, 1, 0 },//top right
};
glEnable(GL_TEXTURE_2D);
glEnableClientState(GL_VERTEX_ARRAY);
glBindTexture(GL_TEXTURE_2D,texID);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);glErrorCheck();
glVertexPointer (2, GL_FLOAT, sizeof(V2fT2f), &quad[0].x);
glTexCoordPointer(2, GL_FLOAT, sizeof(V2fT2f), &quad[0].s);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
일부 코드와 스크린 샷은 도움이 될 것입니다. 사용자가 도움을받지 않으면 더 쉽게 찾을 수 있습니다. – Ani
덕분에 두 가지를 모두 추가했습니다 –
효과처럼 커버 플로우를 얻으려고합니까? 그렇다면 투시 투영법을 설정 했습니까? – Ani