Взять например простейший шейдер с текстурингом.
Вершинная функция:
struct vi {
float4 position : POSITION0;
float2 texcoords : TEXCOORD0;
};
void vs( in vi IN, out pi OUT ) {
OUT.position = mul(IN.position,worldviewproj);
OUT.texcoords = IN.texcoords;
}
Тут как видишь есть texcoords, это текстурные координаты. Заведи две переменные, float'ы и передавай их в шейдер. Прибавляй их в вершинном шейдере. Таким образом в пиксельном выборка будет делаться уже из обработанных.
Это шустрее, и реалтайм, тупо передав 2 флоата, уже влияет на отрисовку. Никаких процессорных и на видео действий не делается вообще.