Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- float4x4 View;
- float4x4 Projection;
- float4x4 World;
- texture Texture1; sampler MultiTexture1 = sampler_state { Texture = (Texture1); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture2; sampler MultiTexture2 = sampler_state { Texture = (Texture2); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture3; sampler MultiTexture3 = sampler_state { Texture = (Texture3); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture4; sampler MultiTexture4 = sampler_state { Texture = (Texture4); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture5; sampler MultiTexture5 = sampler_state { Texture = (Texture5); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture6; sampler MultiTexture6 = sampler_state { Texture = (Texture6); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture7; sampler MultiTexture7 = sampler_state { Texture = (Texture7); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture8; sampler MultiTexture8 = sampler_state { Texture = (Texture8); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture9; sampler MultiTexture9 = sampler_state { Texture = (Texture9); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture10; sampler MultiTexture10 = sampler_state { Texture = (Texture10); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture11; sampler MultiTexture11 = sampler_state { Texture = (Texture11); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture12; sampler MultiTexture12 = sampler_state { Texture = (Texture12); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture13; sampler MultiTexture13 = sampler_state { Texture = (Texture13); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture14; sampler MultiTexture14 = sampler_state { Texture = (Texture14); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture15; sampler MultiTexture15 = sampler_state { Texture = (Texture15); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- texture Texture16; sampler MultiTexture16 = sampler_state { Texture = (Texture16); MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = wrap; AddressV = wrap; };
- struct VS_INPUT
- {
- float4 Position : POSITION0;
- float3 Normal : NORMAL0;
- float2 TexCoord : TEXCOORD0;
- float4 ColorA : COLOR0;
- float4 ColorB : COLOR1;
- float4 ColorC : COLOR2;
- float4 ColorD : COLOR3;
- };
- struct VS_OUTPUT
- {
- float4 Position : POSITION0;
- float2 TexCoord : TEXCOORD0;
- float4 ColorA : COLOR0;
- float4 ColorB : COLOR1;
- float4 ColorC : COLOR2;
- float4 ColorD : COLOR3;
- };
- VS_OUTPUT MultiTexturing_Vertex(VS_INPUT input)
- {
- VS_OUTPUT output;
- float4x4 vp = mul(mul(World, View), Projection);
- output.Position = mul(input.Position, vp);
- output.TexCoord = input.TexCoord;
- output.ColorA = input.ColorA;
- output.ColorB = input.ColorB;
- output.ColorC = input.ColorC;
- output.ColorD = input.ColorD;
- return output;
- }
- float4 MultiTexturing_Pixel(VS_OUTPUT input) : COLOR
- {
- float4 color = float4(0,0,0,0);
- color += tex2D(MultiTexture1, input.TexCoord) * input.ColorA.r;
- color += tex2D(MultiTexture2, input.TexCoord) * input.ColorA.g;
- color += tex2D(MultiTexture3, input.TexCoord) * input.ColorA.b;
- color += tex2D(MultiTexture4, input.TexCoord) * input.ColorA.a;
- color += tex2D(MultiTexture5, input.TexCoord) * input.ColorB.r;
- color += tex2D(MultiTexture6, input.TexCoord) * input.ColorB.g;
- color += tex2D(MultiTexture7, input.TexCoord) * input.ColorB.b;
- color += tex2D(MultiTexture8, input.TexCoord) * input.ColorB.a;
- color += tex2D(MultiTexture9, input.TexCoord) * input.ColorC.r;
- color += tex2D(MultiTexture10, input.TexCoord) * input.ColorC.g;
- color += tex2D(MultiTexture11, input.TexCoord) * input.ColorC.b;
- color += tex2D(MultiTexture12, input.TexCoord) * input.ColorC.a;
- color += tex2D(MultiTexture13, input.TexCoord) * input.ColorD.r;
- color += tex2D(MultiTexture14, input.TexCoord) * input.ColorD.g;
- color += tex2D(MultiTexture15, input.TexCoord) * input.ColorD.b;
- color += tex2D(MultiTexture16, input.TexCoord) * input.ColorD.a;
- return color;
- }
- technique MultiTexture
- {
- pass Pass0
- {
- VertexShader = compile vs_3_0 MultiTexturing_Vertex();
- PixelShader = compile ps_3_0 MultiTexturing_Pixel();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement