문제

CallList의 개체가 가까운 평면과 교차할 때 깜박임이 발생합니다. 어떻게 해야 합니까?

저는 OpenGL과 SDL을 사용하고 있습니다.

예, 이중 버퍼링되어 있습니다.

도움이 되었습니까?

해결책

z-fighting을 하고 있는 것 같습니다.

"Z-파이팅(Z-fighting)은 둘 이상의 기본 요소가 z-버퍼에서 유사한 값을 가질 때 발생하는 3D 렌더링 현상으로, 특히 동일 평면상의 다각형에서 널리 발생합니다.그 효과는 의사-랜덤 픽셀을 하나의 다각형 또는 다른 하나의 색상으로 비 결정적 방식으로 렌더링하여 장면이 애니메이션 될 때마다 다양하여 하나의 다각형이 Z 테스트를 "승리"하게합니다. " (에서 위키피디아)

문제에 대한 자세한 정보는 다음에서 얻을 수 있습니다. OpenGL FAQ.

glPolygonOffset이 도움이 될 수 있지만 이로 인해 문제가 발생할 수도 있습니다.Tom Forsyth는 그의 책에서 좋은 설명을 했습니다. 자주하는 질문 메모:ZBIAS에 대해 이야기하지만 이는 DirectX와 동등한 수준입니다.

다른 팁

문제는 내 회전 함수에 내 model_view 매트릭스를 망친 부동 소수점 오류가 있다는 것입니다.

누구도 짐작하지 못했을 겁니다. 시간 낭비해서 죄송합니다.

비록 나는 근거리 평면을 움직이는 것이 어떤 종류의 문제에 대한 해결책으로 간주되어야 한다고 생각하지 않지만, 일반적으로 뭔가 다른 것이 잘못된 것입니다. 왜냐하면 OpenGL은 근거리 평면과의 다각형 교차를 지원하기 때문입니다.

가까운 클리핑 평면을 조금 더 멀리 배치해 보십시오.예를 들어 gluPerspective -> 세 번째 매개변수를 사용하면 zNear http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/glu/perspective.html

아, 그런 뜻이었군요 가까운 비행기.:)

음...같은 평면에 다각형을 그릴 때 또 다른 점은 glPolygonOffset

설명에서

  glPolygonOffset is useful for rendering hidden-line images,
  for applying decals to surfaces, and for rendering solids
  with highlighted edges.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top