앨리어싱 제거 문제가 있습니다. 제 목표는 평행 육면체라고 할 수있는 "전단 된 직사각형"에 텍스처를 렌더링하는 것입니다. 아래 코드를 사용하면 세로선이 픽셀 화됩니다. glShadeModel, glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR)를 변경해 보았습니다. GL_LINEAR, GL_NEAREST_MIPMAP_LINEAR 등 "InitializeGL"시퀀스에서 "glEnable (GL_POLYGON_SMOOTH);"을 추가하려고 시도했습니다. 하지만 텍스처가 아니라 다각형을위한 것 같아요. 나는 밉 매핑 (mip-mapping)이나 클로즈업 (close-up) 필터 사용에 대한 기사를 찾았지만 OpenGL에서 코드를 작성하는 방법을 이해하지 못했습니다. 앨리어싱없이 평행 육면체에 텍스처를 렌더링하는 가장 좋은 방법은 무엇입니까?앤티 앨리어싱을 사용하여 평행 육면체의 텍스처 렌더링 (셰어 링이있는 직사각형)
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textureId);
glBegin(GL_QUADS);
glColor4ub(255,255,255,incrustInfo->atexte);
glTexCoord2d(0.0, 0.0); glVertex2d(x0, y0);
glTexCoord2d(1.0, 0.0); glVertex2d(x1, y0);
glTexCoord2d(1.0,1.0); glVertex2d(x1 + yTanAngle, y1);
glTexCoord2d(0.0,1.0); glVertex2d(x0 + yTanAngle, y1);
glEnd();
glDisable(GL_TEXTURE_2D);
나는 또한 전단 매트릭스 적용하려고 :
//--- Shearing
GLdouble shearing[16] = {1.0,0.0,0.0,0.0, tan(angle*M_PI/180.0),1.0,0.0,0.0, 0.0,0.0,1.0,0.0, 0.0,0.0,0.0,1.0};
glMultMatrixd(shearing);
을하지만 여전히 pixellised 이미지가 여기 아래에, 당신은 내가 전단 효과를 얻을했다 "yTanAngle"를 볼 수 있습니다 . 그리고 또 다른 문제는이 전단을이 gl_quad에만 적용하고 전역 행렬에는 적용하지 말아야한다는 것입니다. 모든 요소는 전단됩니다.
Nils Pipenbrinck의 질문에 따르면 여기 스크린 샷이 있습니다 (그러나 .BMP로 저장되고 .png 링크를 제공하는 freeimagehosting에로드 된 Windows 스크린 샷에서 완료되었지만 플래그의 픽셀 화를 볼 수 있음). sheared flag needs antialiasing http://s0.uploads.im/QWx3i.png
'glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR)를 시도하십시오. 텍스처를 생성하는 동안 glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 어쩌면 그것이 네가 원하는거야. – lisyarus
screenshot을 게시하십시오 –
나는 "GL_LINEAR"를 확대하여 시도했지만 성공하지 못하면 필터를 축소했습니다. 여전히 픽셀 화되었습니다. – Arnaud