モノゲームでシェーダーを使用する方法を教えてもらえますか?
2MGFX を使用しようとしましたが、ツールから次のように報告されました。エフェクトには少なくとも 1 つのテクニックとパスが含まれている必要があります。ファイル myshader.fx からわかることから、そうです。
ここに私のシェーダーコードがあります:
sampler TextureSampler : register(s0);
float _valueAlpha = 1;
float _valueRGB = 1;
float4 main(float4 color : COLOR0, float2 texCoord : TEXCOORD0) : COLOR0
{
// Look up the texture color.
float4 tex = tex2D(TextureSampler, texCoord);
// Convert it to greyscale. The constants 0.3, 0.59, and 0.11 are because
// the human eye is more sensitive to green light, and less to blue.
float greyscale = dot(tex.rgb, float3(0.3, 0.59, 0.11));
// The input color alpha controls saturation level.
tex.rgb = lerp(greyscale, tex.rgb *_valueRGB, color.a *_valueAlpha);
return tex;
}
technique Technique1
{
pass Pass1
{
PixelShader = compile ps_3_0 main();
}
}
テクニックをTechnique
に、パスを に変更しようとしましPass
たが、それでも「効果には少なくとも 1 つのテクニックとパスが含まれている必要があります」がスローされます。