2016-08-04 4 views
0

textureOffset(...)을 사용하면 수동으로 오프셋을 계산하고 일반 texture(...) 함수를 사용하는 것과 비교하여 성능이 향상됩니까?텍스처 오프셋 (...)을 통한 텍스처 오프셋 (...)

GL_MAX_PROGRAM_TEXEL_OFFSET 속성이 있기 때문에 오프셋 된 텍셀을 단일 또는 적어도 가능한 한 페치하여 가져올 수 있다고 추측합니다. 예를 들어 효과를 흐리게 처리하는 것이 좋지만 가져올 수없는 방법을 찾는 것 같습니다. 어디서나 내부적으로 작동합니까?

업데이트 : 재구성 질문 : 그것은 텍스처 textureOffset (...) 함수를 사용할 때 페치에 관한 최적화를 만들기 위해 GL-드라이버 사이에서 일반적이다?

답변

1

잘못된 질문을하고 있습니다. 더 구체적인 기능이 항상 더 나은 성능을 발휘하는지 여부는 문제가되어서는 안됩니다. 문제는보다 구체적인 기능이 보다 느려지는지인지 여부입니다.

더 느릴 것으로 예상 할 이유가 없습니다. 하드웨어에 오프셋 텍스처 액세스를위한 특수 기능이없는 경우 컴파일러는 사용자가 할 수있는 것처럼 수동으로 텍스처 좌표를 수동으로 오프셋합니다. 도움이되는 하드웨어가 있다면, 그것을 사용할 것입니다.

textureOffset 초를 필요로하고 그 한계 내에서 살 수 있다면 이 아닌을 사용해야합니다.

나는 그것이 하나의 offseted 텍셀을 가져올 수 있습니다, 또는 적어도 몇 가지 가능한, 흐림 효과

아니, 그건 textureGather

예를 들어이 뛰어난 만드는 반입하는 생각 것입니다. textureOffset은 텍스쳐 좌표를 기반으로하는 텍스쳐에 텍스쳐에 접근하여 그 좌표의 위치로부터 텍셀 (texel) 오프셋을 사용하여 그 이름이 말한 것을 정확하게 수행하기위한 것이다. 다수의 이웃하는 텍셀들로부터의 샘플들을 한번에 모두 포함한다. 블러 링을하기 위해 텍스처의 섹션을 읽을 필요가 있다면, (및 textureGatherOffset)이 textureOffset보다 유용 할 것입니다.

+0

고맙습니다. 텍스쳐에 대해 알고 있습니다. 내가 알고 싶은 것은, 드라이버가 있거나 심지어 텍스쳐를 활용할 수있는 일반적인 것인데, 뒤에서 여러 텍셀을 가져 오는 것입니다. –

관련 문제