Добрый день.
Подскажите пожалуйста как задействовать несколько шейдеров подряд. Язык HLSL.
Пробовал так:
technique tech0
{
pass pass0
{
PixelShader = compile ps_1_0 brightnessUp();
}
pass pass1
{
PixelShader = compile ps_1_0 brightnessDown();
}
}
В итоге метод ID3DXEffect::Begin возвращает, что необходимое число проходов — 2, делаю их по схеме:
effect_->Begin(&passes, 0);
for(pass = 0; pass < passes; ++pass)
{
effect_->BeginPass(pass);
device_->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, ...));
effect_->EndPass();
}
effect_->End();
Но в результате — изображение, подвергнутое изменениям только последнего шейдера.
Спасибо.