init
This commit is contained in:
commit
2fe6ca2f65
1473 changed files with 251771 additions and 0 deletions
52
gamedata/shaders/r2/deffer_impl.ps.hlsl
Normal file
52
gamedata/shaders/r2/deffer_impl.ps.hlsl
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
#include "common.hlsli"
|
||||
#include "sload.hlsli"
|
||||
|
||||
void main(p_bumped_new I, out f_deffer O)
|
||||
{
|
||||
XrayMaterial M;
|
||||
|
||||
M.Sun = I.tcdh.w;
|
||||
M.Hemi = I.tcdh.z;
|
||||
M.Point = I.position.xyz;
|
||||
|
||||
M.Color = tex2D(s_base, I.tcdh.xy);
|
||||
|
||||
float4 Lmap = tex2D(s_lmap, I.tcdh.xy);
|
||||
float4 Mask = tex2D(s_mask, I.tcdh.xy);
|
||||
Mask /= dot(Mask, 1.0f);
|
||||
|
||||
float2 tcdbump = I.tcdh.xy * dt_params.xy;
|
||||
|
||||
float3 Detail_R = tex2D(s_dt_r, tcdbump).xyz * Mask.x;
|
||||
float3 Detail_G = tex2D(s_dt_g, tcdbump).xyz * Mask.y;
|
||||
float3 Detail_B = tex2D(s_dt_b, tcdbump).xyz * Mask.z;
|
||||
float3 Detail_A = tex2D(s_dt_a, tcdbump).xyz * Mask.w;
|
||||
float3 Detail = Detail_R + Detail_G + Detail_B + Detail_A;
|
||||
|
||||
float4 Normal_R = tex2D(s_dn_r, tcdbump) * Mask.x;
|
||||
float4 Normal_G = tex2D(s_dn_g, tcdbump) * Mask.y;
|
||||
float4 Normal_B = tex2D(s_dn_b, tcdbump) * Mask.z;
|
||||
float4 Normal_A = tex2D(s_dn_a, tcdbump) * Mask.w;
|
||||
|
||||
float3 Normal = Normal_R.wzy + Normal_G.wzy + Normal_B.wzy + Normal_A.wzy - 0.5;
|
||||
Normal.z *= 0.5f;
|
||||
|
||||
M.Roughness = saturate(1.0f - Normal_R.x + Normal_G.x + Normal_B.x + Normal_A.x);
|
||||
M.Color.xyz *= Detail * 2.0f;
|
||||
|
||||
M.Metalness = 0.0f;
|
||||
M.SSS = 0.0f;
|
||||
M.AO = 1.0f;
|
||||
|
||||
M.Normal = mul(float3x3(I.M1, I.M2, I.M3), Normal);
|
||||
M.Normal = normalize(M.Normal);
|
||||
|
||||
M.Sun = Lmap.w;
|
||||
M.Hemi = M.Color.w;
|
||||
|
||||
#ifndef USE_R2_STATIC_SUN
|
||||
M.Sun = xmaterial;
|
||||
#endif
|
||||
|
||||
O = pack_gbuffer(float4(M.Normal, M.Hemi), float4(M.Point, M.Sun), float4(M.Color.xyz, 1.0f - M.Roughness));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue