add game&rawdata
This commit is contained in:
parent
0133cd976c
commit
49b34b5546
45731 changed files with 709831 additions and 0 deletions
57
gamedata/shaders/r3/depth_downs.ps
Normal file
57
gamedata/shaders/r3/depth_downs.ps
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
#include "common.h"
|
||||
|
||||
#ifdef ISAMPLE
|
||||
# undef ISAMPLE
|
||||
#endif // #ifdef ISAMPLE
|
||||
|
||||
#define ISAMPLE 0
|
||||
|
||||
uniform float3x4 m_v2w;
|
||||
|
||||
struct _input
|
||||
{
|
||||
float4 tc0 : TEXCOORD0; // tc.xy, tc.w = tonemap scale
|
||||
float2 tcJ : TEXCOORD1; // jitter coords
|
||||
float4 pos2d : SV_Position;
|
||||
};
|
||||
|
||||
float4 main ( _input I ) : SV_Target0
|
||||
{
|
||||
//gbuffer_data gbd = gbuffer_load_data( GLD_P(I.tc0.xy, I.pos2d * 2, ISAMPLE) );
|
||||
// gbuffer_data gbd = gbuffer_load_data( GLD_P(I.tc0.xy + 0.5f / pos_decompression_params2.xy, I.pos2d * 2, ISAMPLE) );
|
||||
// TODO: move it to C++ code to save maths in PS
|
||||
// ??? Why we move x and y in the same direction???
|
||||
gbuffer_data gbd0 = gbuffer_load_data( GLD_P(I.tc0.xy + 0.5f * pos_decompression_params2.zw, I.pos2d * 2, ISAMPLE) );
|
||||
gbuffer_data gbd1 = gbuffer_load_data( GLD_P(I.tc0.xy - 0.5f * pos_decompression_params2.zw, I.pos2d * 2, ISAMPLE) );
|
||||
gbuffer_data gbd2 = gbuffer_load_data( GLD_P(I.tc0.xy + 0.5f * float2(+pos_decompression_params2.z, -pos_decompression_params2.w), I.pos2d * 2, ISAMPLE) );
|
||||
gbuffer_data gbd3 = gbuffer_load_data( GLD_P(I.tc0.xy + 0.5f * float2(-pos_decompression_params2.z, +pos_decompression_params2.w), I.pos2d * 2, ISAMPLE) );
|
||||
|
||||
gbuffer_data gbd = gbd0;
|
||||
if (gbd1.P.z < gbd.P.z) gbd = gbd1;
|
||||
if (gbd2.P.z < gbd.P.z) gbd = gbd2;
|
||||
if (gbd3.P.z < gbd.P.z) gbd = gbd3;
|
||||
|
||||
// gbd.P.z = (gbd0.P.z + gbd1.P.z + gbd2.P.z + gbd3.P.z) * 0.25f;
|
||||
|
||||
float4 P = float4( gbd.P, gbd.mtl ); // position.(mtl or sun)
|
||||
|
||||
// SSAO_OPT_DATA == 2 for half-res data
|
||||
// SSAO_OPT_DATA == 1 for full-res data
|
||||
|
||||
#ifndef HDAO // AMDs hdao turned off
|
||||
#if SSAO_OPT_DATA == 2
|
||||
return float4(P.zzzz);
|
||||
#else // SSAO_OPT_DATA == 2
|
||||
gbd = gbuffer_load_data( GLD_P(I.tc0.xy, I.pos2d, ISAMPLE) );
|
||||
return float4(gbd.P.zzzz);
|
||||
#endif // SSAO_OPT_DATA == 2
|
||||
#else // HDAO
|
||||
#if SSAO_OPT_DATA == 2
|
||||
return float4(P.zzzz + g_fHDAOZDispScale * gbd.N.zzzz );
|
||||
#else // SSAO_OPT_DATA == 2
|
||||
// gbd = gbuffer_load_data( GLD_P(I.tc0.xy, I.pos2d, ISAMPLE) );
|
||||
// return float4(gbd.P.zzzz + g_fHDAOZDispScale * gbd.N.zzzz);
|
||||
return float4(0,0,0,1);
|
||||
#endif // SSAO_OPT_DATA == 2
|
||||
#endif // HDAO
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue