Если тебе дать готовый шейдер, ты начнешь задавать много много вопросов.
Начни с малого:
- изучи конвейер визуализации
- структуру написания шейдера
- "загрузку" текстур, каких то значений в шейдер
- пиксельный шейдер
- мультитекстурирование
static float4 Colorka : COLOR0;
texture diffuseTexture : TEXTURE_0;
sampler diffuseSampler = sampler_state
{
Texture = <diffuseTexture>;
AddressU = WRAP;
AddressV = WRAP;
AddressW = WRAP;
MinFilter = ANISOTROPIC;
MagFilter = ANISOTROPIC;
MipFilter = ANISOTROPIC;
MaxAnisotropy = 4;
};
struct PSInput
{
float2 texCoords : TEXCOORD0;
};
struct PSOutput
{
float4 color : COLOR;
};
PSOutput PSMain (PSInput input)
{
PSOutput output;
Colorka = float4(0,0.1,0,0);
output.color.rgba = tex2D(diffuseSampler, input.texCoords).rgba+Colorka;
return output;
}
technique MainTechnique
{
pass p
{
PixelShader = compile ps_2_0 PSMain();
}
}
Вкуришь данный фрагмент дальше попрет само собой.