init
This commit is contained in:
commit
2fe6ca2f65
1473 changed files with 251771 additions and 0 deletions
48
gamedata/shaders/r2/combine_2.ps.hlsl
Normal file
48
gamedata/shaders/r2/combine_2.ps.hlsl
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
#include "common.hlsli"
|
||||
#include "mblur.hlsli"
|
||||
#include "dof.hlsli"
|
||||
|
||||
struct v2p
|
||||
{
|
||||
float4 tc0 : TEXCOORD0; // Center
|
||||
float4 tc1 : TEXCOORD1; // LT
|
||||
float4 tc2 : TEXCOORD2; // RB
|
||||
float4 tc3 : TEXCOORD3; // RT
|
||||
float4 tc4 : TEXCOORD4; // LB
|
||||
float4 tc5 : TEXCOORD5; // Left / Right
|
||||
float4 tc6 : TEXCOORD6; // Top / Bottom
|
||||
};
|
||||
|
||||
uniform sampler2D s_distort;
|
||||
|
||||
#define EPSDEPTH 0.001
|
||||
|
||||
float4 main(v2p I) : COLOR
|
||||
{
|
||||
#ifdef USE_DISTORT
|
||||
float depth = tex2D(s_position, I.tc0).z;
|
||||
float4 distort = tex2D(s_distort, I.tc0);
|
||||
float2 offset = (distort.xy - (127.0f / 255.0f)) * def_distort;
|
||||
float2 center = I.tc0 + offset;
|
||||
float depth_x = tex2D(s_position, center).z;
|
||||
if ((depth_x + EPSDEPTH) < depth)
|
||||
{
|
||||
center = I.tc0;
|
||||
}
|
||||
#else
|
||||
float2 center = I.tc0;
|
||||
#endif
|
||||
|
||||
float3 img = dof(center);
|
||||
float4 bloom = tex2D(s_bloom, center);
|
||||
|
||||
img = mblur(center, tex2D(s_position, I.tc0), img.rgb);
|
||||
img = tonemap(img, tex2Dlod(s_tonemap, float4(0.5f, 0.5f, 0.5f, 0.5f)).x);
|
||||
|
||||
#ifdef USE_DISTORT
|
||||
float3 blurred = bloom * def_hdr;
|
||||
img = lerp(img, blurred, distort.z);
|
||||
#endif
|
||||
|
||||
return combine_bloom(img, bloom);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue