Показать сообщение отдельно
Старый 18.08.2007, 08:52   #17
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: Не сдержался

Во во.
Я в общем сделал так:
Создал 2 сэмплера
Структура выходных данных такая:
struct VS_OUTPUT
{
float4 pos : POSITION;
float2 txr1 : TEXCOORD0;
float2 txr2 : TEXCOORD1;
};
Далее вот эта функция крутит текстуру ( координаты юзаются одни и те же (для облегчения жизни ))
VS_OUTPUT vs_main(float4 inPos : POSITION, float2 tex:TEXCOORD0)
{
VS_OUTPUT Out;
Out.pos = mul(inPos,matViewProjection);
Out.txr1 = float2(tex.x+fCosTime0_X,tex.y+fSinTime0_X);
Out.txr2 = Out.txr1;

return Out;
}
Ну и собсно отрисовка:
sampler Texture0;
sampler Texture1;

float4 ps_main(float2 tex :TEXCOORD0) : COLOR0
{
return tex2D(Texture0,tex)*tex2D(Texture1,tex);
}
Шейдер готов
(Offline)