Files
Aerofoil/ShaderSrc/DrawQuadRGBP.hlsl

34 lines
936 B
HLSL
Raw Normal View History

2019-12-21 18:40:17 -05:00
#include "DrawQuad.h"
2020-06-13 04:33:41 -04:00
#include "DrawQuadPixelConstants.h"
#include "Functions.h"
2019-12-21 18:40:17 -05:00
SamplerState surfaceSampler : register(s0);
Texture2D<float3> surfaceTexture : register(t0);
2019-12-21 18:40:17 -05:00
struct SDrawQuadPixelOutput
{
float4 color : SV_TARGET;
};
2020-06-13 04:33:41 -04:00
float3 SamplePixel(int2 texCoord)
2019-12-21 18:40:17 -05:00
{
2020-06-13 04:33:41 -04:00
return surfaceTexture.Load(int3(texCoord, 0));
}
2019-12-21 18:40:17 -05:00
2020-06-13 04:33:41 -04:00
SDrawQuadPixelOutput PSMain(SDrawQuadPixelInput input)
{
2019-12-21 18:40:17 -05:00
SDrawQuadPixelOutput result;
2020-06-13 04:33:41 -04:00
int2 pixelCoordinate = int2(floor(input.texCoord.xy));
result.color = float4(SamplePixel(int2(floor(input.texCoord.xy))), 1.0);
result.color *= constants_Modulation;
2021-04-11 10:57:33 -04:00
result.color = ApplyFlicker(pixelCoordinate, constants_FlickerStartThreshold, constants_FlickerEndThreshold, result.color);
2020-06-13 04:33:41 -04:00
result.color = ApplyDesaturation(constants_Desaturation, result.color);
if (result.color.a <= 0.0)
discard;
2020-07-03 13:53:10 -04:00
result.color.rgb = ApplyColorSpaceTransform(result.color.rgb);
2020-06-13 04:33:41 -04:00
2019-12-21 18:40:17 -05:00
return result;
}