26 lines
611 B
HLSL
26 lines
611 B
HLSL
#include "common.hlsli"
|
|
#include "shadow.hlsli"
|
|
|
|
#ifndef USE_SUNMASK
|
|
float3x4 m_sunmask;
|
|
#endif
|
|
|
|
Texture2D s_water;
|
|
|
|
float4 main(float2 tc : TEXCOORD0, float2 tcJ : TEXCOORD1, float4 pos2d : SV_POSITION) : SV_Target
|
|
{
|
|
float4 P = GbufferGetPoint(pos2d.xy);
|
|
float4 PS = mul(m_shadow, P);
|
|
|
|
float s = shadow(PS);
|
|
float2 tc1 = mul(m_sunmask, P).xy;
|
|
|
|
float4 water = s_water.SampleLevel(smp_linear, frac(tc1 * 0.5f), 0);
|
|
|
|
water.xyz = (water.xzy - 0.5f) * 2.0f;
|
|
water.xyz = mul((float3x3)m_V, water.xyz);
|
|
water *= s;
|
|
|
|
return float4(water.xyz, s * 0.5f);
|
|
}
|
|
|