diff options
author | ImJezze <jezze@gmx.net> | 2016-06-06 19:40:10 +0200 |
---|---|---|
committer | ImJezze <jezze@gmx.net> | 2016-06-06 19:40:36 +0200 |
commit | 758aaa496aa546a372fd3f21612395a2dd65826e (patch) | |
tree | 55ebc7870667b32e3a53059e2f23a4833fcaded3 /src/osd | |
parent | 6e35713b486905bd5b744e17e34592e52fc68ac3 (diff) |
Fixed scanlines if the screen output is less than twice the size of the host source
Diffstat (limited to 'src/osd')
-rw-r--r-- | src/osd/modules/render/bgfx/shaders/chains/hlsl/fs_post.sc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/osd/modules/render/bgfx/shaders/chains/hlsl/fs_post.sc b/src/osd/modules/render/bgfx/shaders/chains/hlsl/fs_post.sc index ee2fd0fd148..9d5b99d0546 100644 --- a/src/osd/modules/render/bgfx/shaders/chains/hlsl/fs_post.sc +++ b/src/osd/modules/render/bgfx/shaders/chains/hlsl/fs_post.sc @@ -148,7 +148,13 @@ void main() float ColorBrightness = 0.299 * BaseColor.r + 0.587 * BaseColor.g + 0.114 * BaseColor.b; - float ScanCoord = BaseCoord.y * u_source_dims.y * u_scanline_scale.x * 3.1415927; // PI + float ScanCoord = BaseCoord.y; + ScanCoord += u_quad_dims.y <= u_source_dims.y * 2.0f + ? 0.5f / u_quad_dims.y // uncenter scanlines if the quad is less than twice the size of the source + : 0.0f; + + ScanCoord *= u_source_dims.y * u_scanline_scale.x * 3.1415927; // PI + float ScanCoordJitter = u_scanline_jitter.x * u_jitter_amount.x * 1.618034; // PHI float ScanSine = sin(ScanCoord + ScanCoordJitter); float ScanlineWide = u_scanline_height.x + u_scanline_variation.x * max(1.0, u_scanline_height.x) * (1.0 - ColorBrightness); |