2013-08-25 2 views
1

OpenGL의 개체에 흰색 픽셀이 임의로 나타나는 문제가있었습니다. This은 진행 상황의 예입니다. 이 문제가 발생한 다른 사람들을 위해 스택 오버플로를 검색하는 동안 GL_POLYGON_SMOOTH은 사용할 가치가없는 것으로 나타났습니다. 나는 그것을 무능하게했고, 지점은 사라졌다 (이것은 나에게 행운이 있었다). 이것은 매우 운이 좋았지 만, 나는 왜 GL_POLYGON_SMOOTH이이 유물을 생성하는지 이해하지 못합니다. 왜 그들이 나타나는지 설명 할 수 있습니까? 또한 나는 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)이 계속되었다는 것을 유의하십시오.GL_POLYGON_SMOOTH가있는 흰색 픽셀

답변

2

GL_POLYGON_SMOOTH은 fullscene 앤티 앨리어싱 (예 : MSAA 또는 SSAA)과 반대로 선택적 앤티 앨리어싱입니다.

실제 문제는 기본적으로 래스터 화 된 다각형의 실루엣 가장자리와 이미 프레임 버퍼에있는 픽셀을 혼합하여 작동한다는 것입니다. 이것은 순서에 따라 다르므로 다각형이 완전히 깊이 정렬되지 않으면 (깊이 버퍼가 필요하지 않은 경우) 완벽한 결과를 얻을 수 없습니다. 그리고 모든 것을 완벽하게 정렬 했더라도, 많은 장면에서 이것이 필요로하는 오버 드로 량은 우스꽝 스럽습니다.

요즘에는 멀티 샘플 앤티 앨리어싱이 선호되는데, 이는 주문 의존성 문제를 피하고 품질 대비 성능을 훨씬 효과적으로 제어 할 수 있으며 실제로 멀티 샘플 텍스처링을 사용하여 직접 구현할 수 있습니다. GL_POLYGON_SMOOTH에는 품질 힌트 (빠름/좋음)가 있습니다.

관련 문제