summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatarGravatar Westley M. Martinez <anikom15@gmail.com>2016-12-30 13:18:41 -0800
committerGravatarGravatar Westley M. Martinez <anikom15@gmail.com>2016-12-30 13:18:41 -0800
commitb2682b7c55c5056042decfa44470fe4d51512fd0 (patch) (github)
tree246196329ead2feb530bdcc4437f29437e972c6f
parentf1da2ecffa66ffa0162be5a74f4609fecdf35882 (diff)
downloadmame-b2682b7c55c5056042decfa44470fe4d51512fd0.tar.bz2
mame-b2682b7c55c5056042decfa44470fe4d51512fd0.zip
Add gamma correction for proper impulse response.
-rw-r--r--hlsl/phosphor.fx6
1 files changed, 5 insertions, 1 deletions
diff --git a/hlsl/phosphor.fx b/hlsl/phosphor.fx
index 488b1d37dca..447bf0242f9 100644
--- a/hlsl/phosphor.fx
+++ b/hlsl/phosphor.fx
@@ -13,6 +13,7 @@ texture Diffuse;
sampler DiffuseSampler = sampler_state
{
Texture = <Diffuse>;
+ SRGBTexture = TRUE;
MipFilter = LINEAR;
MinFilter = LINEAR;
MagFilter = LINEAR;
@@ -26,6 +27,7 @@ texture LastPass;
sampler PreviousSampler = sampler_state
{
Texture = <LastPass>;
+ SRGBTexture = TRUE;
MipFilter = LINEAR;
MinFilter = LINEAR;
MagFilter = LINEAR;
@@ -134,11 +136,12 @@ float4 ps_main(PS_INPUT Input) : COLOR
}
// Prevent burn-in
if (DeltaTime > 0.0f) {
- float threshold = 0.5f / 255.0f; // Half-color increment
+ float threshold = 0.5f / 255.0f / 12.92; // Half-color increment
r = max(0.0f, r - threshold);
g = max(0.0f, g - threshold);
b = max(0.0f, b - threshold);
}
+
float RedMax = max(CurrPix.r, r);
float GreenMax = max(CurrPix.g, g);
float BlueMax = max(CurrPix.b, b);
@@ -155,6 +158,7 @@ technique DefaultTechnique
{
pass Pass0
{
+ SRGBWriteEnable = TRUE;
Lighting = FALSE;
VertexShader = compile vs_2_0 vs_main();