Эффективный доступ к текстуре окрестности для свертки в GLSL ES 1.1

Я выполняю свертку с ядром 3x3 в шейдере iPhone, GLSL ES 1.1. В настоящее время я просто делаю 9 поисков текстур. Есть ли более быстрый способ? Некоторые идеи:

  • передача входного изображения в качестве буфера, а не текстуры, чтобы избежать вызова интерполяции текстуры.

  • Передача 9 различных координат vec2 из вершинного шейдера (вместо одной, как я сейчас делаю), чтобы стимулировать процессор к эффективной предварительной выборке текстуры.

  • Поиск различных расширений Apple, которые могут подойти для этого.

  • (Добавлено) исследовать эквиваленты ES для вызова GLSL shaderOffset (который недоступен в ES, но, возможно, есть эквивалент)

С точки зрения аппаратного обеспечения, я сосредоточился, в частности, на iPhone 4S.

6
задан Alex Flint 22 June 2012 в 18:48
поделиться