2012-10-02 3 views
-1

직사각형 텍스처로 OpenGL에서 일부 표면을 테셀레이션해야합니다. 단순하게 삼각형이되도록하십시오. 텍스처는 측면에 의해 서로 닿아 겹치지 않습니다. GL_TEXTURE_WRAP_S와 GL_TEXTURE_WRAP_T를 GL_CLAMP_TO_BORDER로 설정하고 텍스처 좌표를 적절하게 조정하면됩니다. GL_TEXTURE_MIN_FILTER 및 GL_TEXTURE_MAG_FILTER가 GL_NEAREST로 설정되는 동안 모든 것이 잘되지만, GLUEINE 필터링 및 이방성 필터링을 적용하여 이펙트 애프 리케이션을 적용하려고 할 때 : 텍스처 테두리 픽셀의 알파가 점차 투명 해 지므로 이웃하는 텍스처 사이에 배경색 선이 표시됩니다.OpenGL 멀티 텍스처 테셀레이션

선형 필터링이 유지되는 동안 여러 텍스처를 하나로 병합하지 않고이 아티팩트를 피하려면 어떻게해야합니까?

답변

0

GL_CLAMP_TO_BORDER 대신 GL_CLAMP_TO_EDGE을 원할 수도 있습니다. 테두리 클램프는 테두리 픽셀과 (0,0,0,0)으로 초기화되는 테두리 색을 혼합합니다. 이것은 당신의 투명성이 어디서 오는가입니다.

텍스처를 실제 가장자리에 고정하거나 불투명 한 테두리 색상을 설정하십시오.

+0

요점은 인접한 텍스처가 서로 틈없이 경계를 지을지라도 표면에 텍스처를 단일 직사각형 블록으로 렌더링하는 것입니다 (블록의 외부 공간은 투명해야합니다). – user1715296