2012-02-16 1 views
6

UPDATE :는 OpenGL을 GL_POLYGON_SMOOTH 2D 앤티 엘리 어싱은 쿼드에서 트리스를 만드는

나는 그것을 제거하면 제대로 작동 NVIDIA 제어판을 설치하는 경우에 내가 찾은

.

OpenGL에서 쿼드를 회전하면 가장자리가 고르지 않게됩니다.

glEnable (GL_POLYGON_SMOOTH)을 호출하면 가장자리가 매끄 럽지만 OpenGL은 마치 내 쿼드의 삼각형을 만드는 것처럼 모든 이미지를 통해 흰색 대각선을 그립니다. GL_POLYGON_SMOOTH

그 라인을 해제하는 방법이 있나요, 아니면 다른 쉬운 방법으로 앤티 엘리 어싱을받을 수 있습니다

이는 모습입니다? GL_MULTISAMPLE을 시도했지만 아무 일도 없었습니다. 내 코드에서

또한이 :

glShadeModel(GL_SMOOTH); 

glMatrixMode(GL_PROJECTION); 

glLoadIdentity(); 

glDisable(GL_DEPTH_TEST); 

glEnable(GL_BLEND); 

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 
+3

두 삼각형의 꼭지점이 일치하지 않아 얇은 선을 만드는 것처럼 보입니다. 쿼드를 그리는 대신 삼각형 팬을 그리십시오. IMO,이 선은 OpenGL이 어떤 꼭지점이 공유되는지 (그리고 정확히 같음) 알기 때문에 사라져야합니다. – Ani

+0

흠 좋습니다. 부분 일치가 아니라는 것을 이해합니다. 그러나 나는 이미지의 절반을 각각 채운 두 개의 삼각형을 그린 다음 개별적으로 회전/크기 조정하는 방법을 이해하지 못합니다. 텍스쳐를 일반 쿼드에 그려 넣는 순간 : 저는 OpenGL을 처음 접했고 2D와 이미지로만 작업 했으므로 삼각형을 전혀 사용하지 않았습니다. 그래서 삼각형 팬 그리는 방법을 가르쳐주세요. 감사합니다, Markus – Orujimaru

+0

다른 그래픽 카드를 사용하는 두 대 이상의 컴퓨터에서이를 테스트 했습니까? 다른 드라이버로 테스트 했습니까? 그것은 그것이 운전수 버그 일 수있는 것처럼 나에게 보인다. –

답변

3

좋아, 내가 대답으로이를 쓰기 그것을 밖으로 시도 후 작동하는지 알려 드리겠습니다.

GL_TRIANGLE_FAN : 응용 프로그램이 정점 시퀀스 v를 지정하면 OpenGL은 v 0, v 1 및 v 2를 사용하여 삼각형을 렌더링합니다. v 0, v 2 및 v 3을 사용하는 다른 삼각형; v 0, v 3 및 v 4를 사용하는 다른 삼각형; 등등. 응용 프로그램에서 n 개의 꼭짓점을 지정하면 OpenGL은 n-2 개의 연결된 삼각형을 렌더링합니다.

그래서

glBegin(GL_TRIANGLE_FAN); 

glTexCoord2f(0f, 0f); 
glVertex3f(-halfWidth, -halfHeight, 0f); 

glTexCoord2f(0f, 1f); 
glVertex3f(-halfWidth, halfHeight, 0f); 

glTexCoord2f(1f, 1f); 
glVertex3f(halfWidth, halfHeight, 0f); 

glTexCoord2f(1f, 0f); 
glVertex3f(halfWidth, -halfHeight, 0f); 

glEnd(); 

지금 당신은 당신이 당신의 쿼드 주위에 사용이 주위에 같은 변환을 넣을 수 있습니다 원점을 중심으로 단위 쿼드을 그립니다! 희망이 도움이됩니다!

+0

죄송합니다. 그러나 이것은 쿼드 그리기와 완전히 동일한 출력을 제공합니다. 노력에 감사드립니다. // Markus – Orujimaru

+0

이 시점에서 @jerrycoffin이 말한 것처럼 드라이버 및/또는 GPU를 의심하기 시작합니다. 다른 GPU/드라이버에서 사용해보십시오. – Ani

+0

그래, 그게 확실해. 정말 이상합니다. 18 개월 전에 구입 한 이후로 나는 mu GPU에 전혀 문제가 없었습니다. 몇 가지 다른 드라이버를 시도했지만 도움이되지 않았습니다. 한 번에 하나의 GPU를 사용하지 못하게했지만 그 역시 도움이되지 못했습니다. GPU 자체의 문제를 해결하는 방법을 모르겠습니다. 내 컴퓨터 일 뿐이 라면서 같이 살 수 있지만, 게임을 풀어주기를 바란다. 자주 발생하면 받아 들일 수 없다. = / – Orujimaru