Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct VIn
- {
- float4 p : POSITION;
- float2 uv : TEXCOORD0;
- };
- struct VOut
- {
- float4 p : POSITION;
- float c : CLP0;
- float2 uv : TEXCOORD0;
- };
- struct PIn
- {
- float2 uv : TEXCOORD0;
- };
- VOut LightVS(VIn IN,
- uniform float4x4 wMat,
- uniform float4x4 wvpMat,
- uniform float4 clipPlane)
- {
- VOut OUT;
- OUT.p = mul(wvpMat, IN.p);
- OUT.c = dot(mul(wMat, IN.p), clipPlane);
- OUT.uv = IN.uv;
- return OUT;
- }
- float4 LightPS(PIn IN,
- uniform float4 colorPrimary,
- uniform float4 colorSecondary,
- uniform float4 colorOptional,
- uniform sampler2D diffuseMap : TEXUNIT0):COLOR
- {
- float4 colorDiffuse = tex2D(diffuseMap, IN.uv);
- float3 colorBlack = float3(0, 0, 0);
- float3 primaryContrib = lerp(colorBlack, colorPrimary, colorDiffuse.r/127);
- float3 secondaryContrib = lerp(colorBlack, colorSecondary, colorDiffuse.g/127);
- float3 optionalContrib = lerp(colorBlack, colorOptional, colorDiffuse.b/127);
- float3 finalContrib = primaryContrib + secondaryContrib + optionalContrib;
- return float4(finalContrib, colorDiffuse.a);
- }
Advertisement
Add Comment
Please, Sign In to add comment