summaryrefslogtreecommitdiffstats
path: root/src/extras/shaders/neoWorldIII_PS.hlsl
diff options
context:
space:
mode:
Diffstat (limited to 'src/extras/shaders/neoWorldIII_PS.hlsl')
-rw-r--r--src/extras/shaders/neoWorldIII_PS.hlsl25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/extras/shaders/neoWorldIII_PS.hlsl b/src/extras/shaders/neoWorldIII_PS.hlsl
new file mode 100644
index 00000000..8a3d5d86
--- /dev/null
+++ b/src/extras/shaders/neoWorldIII_PS.hlsl
@@ -0,0 +1,25 @@
+sampler2D Diffuse : register(s0);
+sampler2D Light : register(s1);
+float4 fogColor : register(c0);
+float4 lm : register(c1);
+
+struct PS_INPUT
+{
+ float4 Color : COLOR0;
+ float3 Tex0 : TEXCOORD0;
+ float2 Tex1 : TEXCOORD1;
+};
+
+float4
+main(PS_INPUT IN) : COLOR
+{
+ float4 t0 = tex2D(Diffuse, IN.Tex0.xy);
+ float4 t1 = tex2D(Light, IN.Tex1);
+
+ float4 col = t0*IN.Color*(1 + lm*(2*t1-1));
+ col.a = IN.Color.a*t0.a*lm.a;
+
+ col.rgb = lerp(fogColor.rgb, col.rgb, IN.Tex0.z);
+
+ return col;
+}