📄 texblendps.txt
字号:
// File: ps_multitex.txt
// Desc: Pixel shader that does multitexturing.
// Globals
sampler AlphaTex;
sampler Texture1;
sampler Texture2;
sampler Texture3;
float3x3 mat3x3;
//Structures
struct PS_INPUT
{
vector diffuse : COLOR;
float2 alpha : TEXCOORD0;
float2 tex1 : TEXCOORD1;
float2 tex2 : TEXCOORD2;
float2 tex3 : TEXCOORD3;
};
struct PS_OUTPUT
{
vector diffuse : COLOR0;
};
// Main
PS_OUTPUT Main(PS_INPUT input)
{
// zero out members of output
PS_OUTPUT output;// = (PS_OUTPUT)0;
// sample appropriate textures
vector alphatex=tex2D(AlphaTex,input.alpha);
//vector tex1=tex2D(Texture1,input.tex1);
//vector tex2=tex2D(Texture2,input.tex2);
//vector tex3=tex2D(Texture3,input.tex3);
mat3x3[0]=tex2D(Texture1,input.tex1);
mat3x3[1]=tex2D(Texture2,input.tex2);
mat3x3[2]=tex2D(Texture3,input.tex3);
mul(alphatex.rgb,mat3x3);
// lerp pixel color
//output.diffuse=(tex1*alphatex.r+tex2*alphatex.g+tex3*alphatex.b)*input.diffuse;//lerp(tex1,tex2,alphatex.a)*input.diffuse;
output.diffuse.rgb=mul(alphatex.rgb,mat3x3)*input.diffuse.rgb;
output.diffuse.a=1;
return output;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -