Вопрос по шейдерам
От: devline  
Дата: 08.04.08 11:17
Оценка:
Добрый день.
Подскажите пожалуйста как задействовать несколько шейдеров подряд. Язык 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();

Но в результате — изображение, подвергнутое изменениям только последнего шейдера.

Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.