#define MAX_LIGHT 2 #define MAX_CAU_CASTER 2 #define SPOT_ANGLE 2.093 #define SPOT_FALLOFF 1 #define SHADOW_COLOR float4(0.3,0.3,0.3,1.0) #define SHADOW_BIAS_POINT 0.0001 #define SHADOW_EPSILON_POINT 0.0001 uniform sampler2D colorTexture : register(s0); uniform sampler2D bumpMap : register(s1); uniform float4 lightRange; uniform float lightPower; uniform float4 lightColor; uniform float specularity; uniform float4 specularColor; uniform float albedo; #include "illum.hlsl" struct PS_IN { float2 texCoord:TEXCOORD0; float3 tangent:TEXCOORD1; float3 binormal:TEXCOORD2; float3 normal:TEXCOORD3; float3 V: TEXCOORD4; float3 L: TEXCOORD5; }; float4 FPSArm_PS(PS_IN IN):COLOR { float4 Color = 0; float3 N = normalize(IN.normal);//NormalMap(IN.tangent, IN.binormal, IN.normal, IN.texCoord, bumpMap); float dist = length(IN.V); float3 V = IN.V /dist; float3 L = IN.L; float4 diffuseColor = albedo * tex2D(colorTexture, IN.texCoord); Color = Illumination(N, L, V, lightColor * lightPower, lightRange, diffuseColor, specularity, specularColor); float4 ret = Color; return float4(ret.xyz, dist); }