এটি করার সবচেয়ে সহজ উপায় এটির জন্য শেডার তৈরি করা (নীচের কোডটি দেখুন)। রেন্ডার টার্গেটে সবকিছু আঁকুন, তারপরে আপনার পিছনের বাফারে আঁকতে শেডারটি ব্যবহার করুন
প্লেয়ারটি মারা যাওয়ার পরে আপনার গেম কোড রেকর্ডে, তারপরে রেন্ডারগুলিতে 1 (পূর্ণ বর্ণ) এবং 0 (পূর্ণ ধূসর-স্কেল) এর মধ্যে একটি শেডার প্যারামিটার রেন্ডার করে
CurrentTime-DeadTime / FadeTime
float ColourAmount;
Texture coloredTexture;
sampler coloredTextureSampler = sampler_state
{
texture = <coloredTexture>;
};
float4 GreyscalePixelShaderFunction(float2 textureCoordinate : TEXCOORD0) : COLOR0
{
float4 color = tex2D(coloredTextureSampler, textureCoordinate);
float3 colrgb = color.rgb;
float greycolor = dot(colrgb, float3(0.3, 0.59, 0.11));
colrgb.rgb = lerp(dot(greycolor, float3(0.3, 0.59, 0.11)), colrgb, ColourAmount);
return float4(colrgb.rgb, color.a);
}
technique Grayscale
{
pass GreyscalePass
{
PixelShader = compile ps_2_0 GreyscalePixelShaderFunction();
}
}
০.০, ০.০৯ এবং ০.০১ এর কারণ হ'ল মানব চোখ বর্ণের সাথে সমান আচরণ করে না, এই মানগুলি আরও ভাল গ্রেস্কেল চিত্র দেয়।