Added shaders
This commit is contained in:
67
data_from_portwine/Reshade/Shaders/FakeHDR.fx
Normal file
67
data_from_portwine/Reshade/Shaders/FakeHDR.fx
Normal file
@ -0,0 +1,67 @@
|
||||
/**
|
||||
* HDR
|
||||
* by Christian Cann Schuldt Jensen ~ CeeJay.dk
|
||||
*
|
||||
* Not actual HDR - It just tries to mimic an HDR look (relatively high performance cost)
|
||||
*/
|
||||
|
||||
#include "ReShadeUI.fxh"
|
||||
|
||||
uniform float HDRPower < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = 0.0; ui_max = 8.0;
|
||||
ui_label = "Power";
|
||||
> = 1.30;
|
||||
uniform float radius1 < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = 0.0; ui_max = 8.0;
|
||||
ui_label = "Radius 1";
|
||||
> = 0.793;
|
||||
uniform float radius2 < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = 0.0; ui_max = 8.0;
|
||||
ui_label = "Radius 2";
|
||||
ui_tooltip = "Raising this seems to make the effect stronger and also brighter.";
|
||||
> = 0.87;
|
||||
|
||||
#include "ReShade.fxh"
|
||||
|
||||
float3 HDRPass(float4 vpos : SV_Position, float2 texcoord : TexCoord) : SV_Target
|
||||
{
|
||||
float3 color = tex2D(ReShade::BackBuffer, texcoord).rgb;
|
||||
|
||||
float3 bloom_sum1 = tex2D(ReShade::BackBuffer, texcoord + float2(1.5, -1.5) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2(-1.5, -1.5) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2( 1.5, 1.5) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2(-1.5, 1.5) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2( 0.0, -2.5) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2( 0.0, 2.5) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2(-2.5, 0.0) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2( 2.5, 0.0) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
|
||||
bloom_sum1 *= 0.005;
|
||||
|
||||
float3 bloom_sum2 = tex2D(ReShade::BackBuffer, texcoord + float2(1.5, -1.5) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2(-1.5, -1.5) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2( 1.5, 1.5) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2(-1.5, 1.5) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2( 0.0, -2.5) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2( 0.0, 2.5) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2(-2.5, 0.0) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2( 2.5, 0.0) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
|
||||
bloom_sum2 *= 0.010;
|
||||
|
||||
float dist = radius2 - radius1;
|
||||
float3 HDR = (color + (bloom_sum2 - bloom_sum1)) * dist;
|
||||
float3 blend = HDR + color;
|
||||
color = pow(abs(blend), abs(HDRPower)) + HDR; // pow - don't use fractions for HDRpower
|
||||
|
||||
return saturate(color);
|
||||
}
|
||||
|
||||
technique HDR
|
||||
{
|
||||
pass
|
||||
{
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = HDRPass;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user