init
This commit is contained in:
commit
2fe6ca2f65
1473 changed files with 251771 additions and 0 deletions
63
gamedata/shaders/d3d11/snowing_main.ps.hlsl
Normal file
63
gamedata/shaders/d3d11/snowing_main.ps.hlsl
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
#include "common.hlsli"
|
||||
#include "sload.hlsli"
|
||||
|
||||
void main(p_shadow _I, out IXrayGbufferPack O)
|
||||
{
|
||||
IXrayGbuffer G;
|
||||
p_bumped_new I;
|
||||
|
||||
GbufferUnpack(_I.tc0.xy, _I.hpos.xy, G);
|
||||
|
||||
clip(G.SnowMask - 0.00001f);
|
||||
clip(0.9999f - G.Depth);
|
||||
|
||||
I.position = float4(G.Point.xyz, 1.0f);
|
||||
I.snow_mask = G.SnowMask * smoothstep(0.2f, 0.3f, G.Hemi);
|
||||
|
||||
float3 P = mul(m_invV, I.position);
|
||||
float3 N = normalize(mul((float3x3)m_invV, G.Normal.xyz));
|
||||
|
||||
float3 T, B;
|
||||
I.tcdh.xy = P.xz * 0.2f;
|
||||
|
||||
build_contangent_frame(P, N, I.tcdh.xy, T, B);
|
||||
|
||||
float3x3 xform = mul((float3x3)m_V, float3x3(
|
||||
T.x, B.x, N.x,
|
||||
T.y, B.y, N.y,
|
||||
T.z, B.z, N.z
|
||||
)
|
||||
);
|
||||
I.tcdh.zw = 0.5f;
|
||||
|
||||
I.M1 = xform[0];
|
||||
I.M2 = xform[1];
|
||||
I.M3 = xform[2];
|
||||
|
||||
I.hpos_curr = I.hpos_old = I.hpos = _I.hpos;
|
||||
IXrayMaterial M;
|
||||
|
||||
M.Sun = G.SSS;
|
||||
M.Hemi = G.Hemi;
|
||||
|
||||
M.Depth = G.Point.z;
|
||||
M.Point = G.Point.xyz;
|
||||
|
||||
SloadNew(I, M);
|
||||
|
||||
M.Normal = mul(xform, M.Normal);
|
||||
|
||||
M.Normal = lerp(G.Normal, M.Normal, I.snow_mask);
|
||||
M.Roughness = lerp(G.Roughness, M.Roughness, I.snow_mask);
|
||||
|
||||
M.Normal = normalize(M.Normal);
|
||||
|
||||
O.Velocity = 0.0f;
|
||||
GbufferPack(O, M);
|
||||
|
||||
O.Color.w = I.snow_mask;
|
||||
O.Material.w = I.snow_mask;
|
||||
|
||||
O.Normal.w = 1.0f;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue