2009-11-15 8 views
1

Как создать простой фильтр HLSL Silverlight для смешивания/воспроизведения/смешивания 2 изображений?Как создать простой фильтр HLSL Silverlight для смешивания/воспроизведения/смешивания 2 изображений?

Мне нужен рабочий пример фильтра, который будет принимать в качестве входных 2 изображений \ объектов и вернуть 1 изображение - результат некоторых вычислений.

Я хочу довести до Silverlight режимов смешивания!)

ответ

1

Ну первое, что вы должны сделать, это определить файл .fx. В том, что вам нужны коды, как следующее:

uniform extern texture Image1; 
uniform extern texture Image2; 
sampler2D BG_Image1_Sampler = sampler_state 
{ 
    Texture = (Image1); 
    MinFilter = LINEAR; 
    MagFilter = LINEAR; 
    MipFilter = LINEAR; 
}; 
sampler2D BG_Image2_Sampler = sampler_state 
{ 
    Texture = (Image2); 
    MinFilter = LINEAR; 
    MagFilter = LINEAR; 
    MipFilter = LINEAR; 
}; 

float4 MyCalcFunction(float2 TexCoords : TEXCOORD0) : COLOR0 
{ 
    float4 outColor; 
    //calculations here 

    return outColor; 
} 

technique BlurGlow 
{ 
    pass P0 
    { 
     PixelShader = compile ps_2_0 MyCalcFunction(); 
    } 
} 

Я уверен в том, как использовать файл FX с Silverlight, но это должно вам начать!

+0

Hm ... Ваш фильтр не работает в Silverlight или в WPF ... BTW Я тестировал с помощью Shazzam. И потому, что я нахожусь в фильтрах Silverlight (я использовал Pixel bender HYDRA раньше для Flash), я не знаю, как заставить его работать = ( – Rella

+0

Хм .... Я не уверен, тогда я думал, что HLSL будет аналогичным между XNA и Silverlight. Извините! – RCIX