쌍선형 텍스처 필터링
쌍선형 필터링은 샘플링 점에 가장 가까운 4텍셀의 가중 평균을 계산합니다. 이 필터링 방식이 가장 가까운 점 필터링보다 더 정확하고 일반적입니다. 이 방식은 최신 그래픽 하드웨어에 구현되어 있기 때문에 효율적입니다.
예제
텍스처는 항상 왼쪽 위 모퉁이의 (0.0, 0.0)에서 오른쪽 아래 모퉁이의 (1.0, 1.0)까지 선형으로 주소가 지정됩니다. 텍스처의 선형 주소 지정은 다음 일러스트레이션에 나와 있습니다.
텍스처는 대개 단색 블록으로 구성된 것처럼 표현되지만 실제로는 래스터 디스플레이를 생각할 때와 같은 방식으로 텍스처를 생각하는 것이 더 정확합니다. 다음 일러스트레이션과 같이 각 텍셀이 표 형태 창 셀의 정중앙에 정의됩니다.
UV 좌표(0.375, 0.375)에서 이 텍스처의 색에 대한 텍스처 을 요청할 경우 빨간색 단색(255, 0, 0)이 제공됩니다. 이는 빨간색 텍셀 셀의 중앙이 UV(0.375, 0.375)이기 때문입니다. UV(0.25, 0.25)의 텍스처 색에 대한 샘플러를 요청하면 어떻게 될까요? UV(0.25, 0.25)의 점이 4텍셀의 모퉁이에 정확히 위치하기 때문에 이는 그렇게 쉽지 않습니다.
가장 간단한 체계는 샘플러가 가장 가까운 텍셀의 색을 반환하게 하는 것입니다. 이를 점 필터링(가장 가까운 점 샘플링 참조)이라고 하며 결과의 입자가 굵거나 농담이 고르지 않아 대개 부적당합니다. UV(0.25, 0.25)의 텍스처를 점 샘플링하면 가장 가까운 점 필터링에 또 다른 복잡한 문제가 생깁니다. 샘플링 점에서 등거리에 4개의 텍셀이 있으므로 가장 가까운 텍셀이 하나도 없습니다. 이러한 4개의 텍셀 중 하나가 반환 색으로 선택되지만 선택 내용은 좌표가 반올림되는 방식에 따라 다릅니다. 이로 인해 깨지는 아티팩트가 생길 수 있습니다(SDK의 가장 가까운 점 샘플링 문서 참조).
조금 더 정확하고 더 일반적인 필터링 체계는 샘플링 점에 가장 가까운 4텍셀의 가중 평균을 계산하는 것입니다. 이를 쌍선형 필터링이라고 합니다. 쌍선형 필터링의 추가 계산 비용은 해당 루틴이 최신 그래픽 하드웨어에 구현되어 있기 때문에 대개 무시해도 좋을 정도입니다. 다음은 쌍선형 필터링을 사용하여 몇 가지 샘플 점에서 얻은 색입니다.
UV: (0.5, 0.5)
이 점은 빨간색, 녹색, 파란색 및 흰색 텍셀 사이의 테두리에 정확히 위치합니다. 샘플러에서 반환하는 색은 회색입니다.
0.25 * (255, 0, 0)
0.25 * (0, 255, 0)
0.25 * (0, 0, 255)
## + 0.25 * (255, 255, 255)
------------------------
= (128, 128, 128)
UV: (0.5, 0.375)
이 점은 빨간색, 녹색, 파란색 및 흰색 텍셀 사이의 테두리의 중간점에 위치합니다. 샘플러가 반환하는 색은 노란색-회색입니다. 파란색 및 흰색 텍셀의 기여는 0으로 조정됩니다.
0.5 * (255, 0, 0)
0.5 * (0, 255, 0)
0.0 * (0, 0, 255)
## + 0.0 * (255, 255, 255)
------------------------
= (128, 128, 0)
UV: (0.375, 0.375)
이는 반환 색인 빨간색 텍셀의 주소입니다(필터링 계산의 다른 텍셀은 모두 0으로 가중치가 매겨짐).
1.0 * (255, 0, 0)
0.0 * (0, 255, 0)
0.0 * (0, 0, 255)
## + 0.0 * (255, 255, 255)
------------------------
= (255, 0, 0)
이러한 계산을 다음 일러스트레이션과 비교하세요. 일러스트레이션은 4x4 텍스처의 모든 텍스처 주소에서 쌍선형 필터링 계산이 수행되는 경우 어떤 일이 일어나는지를 보여줍니다.
관련 항목