답변:
texelFetch
와는 상당히 다릅니다 texture
.
texture
필터링 및 정규화 된 ( [0,1]
) 텍스처 좌표 를 처리하는 일반적인 텍스처 액세스 기능입니다 . texelFetch
정규화되지 않은 좌표를 사용하여 텍스처의 텍셀에 직접 액세스합니다 (필터링 없음) (예 : 정규화 된 좌표 (64,64)
와 비교하여 128x128 텍스처의 가운데 텍셀 (.5,.5)
).
texture
이 필요하므로 필터링을 수행하지 않아야하거나 하드웨어가 필터링을 수행해야하므로 사용해야 함) texelFetch
).
texelFetch
더 빨리, 그리고 접미사를 필터링 가까운 이웃이, 당신이 어떤 이유에 대한 필터링 NN에 컨텍스트를 변경할 수 없습니다, 그것을 통해 선호하는 것이 합리적 일 것입니다 texture
.
texelFetch
및 texture
기본적인 방법으로 다르게 작동합니다. 입력 : 텍스처 좌표와 정규화 된 좌표도 참조하십시오. 그들은 다른 목적으로 사용됩니다. 하나는 다른 것의 최적화가 아닙니다.
수락 된 답변이 없으므로 정보를 추가하기 때문에 Sean이 대답하지 않은 것을 추가하고 싶었습니다.
TexelFetch 는 텍스처를 이미지로 취급하므로 픽셀의 내용에 정확하게 액세스 할 수 있습니다. 당신은 일반적으로 그 내용이 정확히 필요할 때 그렇게합니다.
Tex2D 는 텍스처를 텍스처로 취급합니다. 픽셀의 정확한 내용은 원하지 않지만 가장 사실적인 결과를 원합니다. 표준 텍스처 읽기는 매우 복잡한 작업이며 하나 이상의 밉맵 레벨에서 보간 된 데이터를 읽은 다음 다시 보간합니다. 비싼 작업은 모두 시각적 인 인공물을 피해야합니다.
GL_NEAREST는 가장 작은 다각형에서 더 작은 밉맵 레벨로 데이터를 읽고 있기 때문에 텍셀 페치에서 읽을 정확한 데이터와 동일하지 않기 때문에 동일하게 작동하지 않습니다.
Tex2D (거의)가 TexelFetch와 동일하게 작동하는 경우가 하나 있습니다.