mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-18 01:55:46 -04:00
Resources: Fix crt-lottes under Direct3D
And add additional builtin shaders.
This commit is contained in:
77
data/resources/shaders/reshade/Shaders/scanlines-abs.fx
Normal file
77
data/resources/shaders/reshade/Shaders/scanlines-abs.fx
Normal file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
Scanlines Sine Absolute Value
|
||||
An ultra light scanline shader
|
||||
by RiskyJumps
|
||||
license: public domain
|
||||
*/
|
||||
|
||||
#include "ReShade.fxh"
|
||||
|
||||
uniform float texture_sizeY <
|
||||
ui_type = "drag";
|
||||
ui_min = 1.0;
|
||||
ui_max = BUFFER_HEIGHT;
|
||||
ui_label = "Scanlines Height [Scanlines-Absolute]";
|
||||
> = 240.0;
|
||||
|
||||
uniform float amp <
|
||||
ui_type = "drag";
|
||||
ui_min = 0.0;
|
||||
ui_max = 2.0;
|
||||
ui_step = 0.05;
|
||||
ui_label = "Amplitude [Scanlines-Absolute]";
|
||||
> = 1.25;
|
||||
|
||||
uniform float phase <
|
||||
ui_type = "drag";
|
||||
ui_min = 0.0;
|
||||
ui_max = 2.0;
|
||||
ui_step = 0.05;
|
||||
ui_label = "Phase [Scanlines-Absolute]";
|
||||
> = 0.0;
|
||||
|
||||
uniform float lines_black <
|
||||
ui_type = "drag";
|
||||
ui_min = 0.0;
|
||||
ui_max = 1.0;
|
||||
ui_step = 0.05;
|
||||
ui_label = "Lines Blacks [Scanlines-Absolute]";
|
||||
> = 0.0;
|
||||
|
||||
uniform float lines_white <
|
||||
ui_type = "drag";
|
||||
ui_min = 0.0;
|
||||
ui_max = 2.0;
|
||||
ui_step = 0.05;
|
||||
ui_label = "Lines Whites [Scanlines-Absolute]";
|
||||
> = 1.0;
|
||||
|
||||
#define freq 0.500000
|
||||
#define offset 0.000000
|
||||
#define pi 3.141592654
|
||||
|
||||
float4 PS_ScanlinesAbs(float4 pos : SV_POSITION, float2 tex : TEXCOORD0) : SV_TARGET
|
||||
{
|
||||
float3 color = tex2D(ReShade::BackBuffer, tex).xyz;
|
||||
float grid;
|
||||
|
||||
float lines;
|
||||
|
||||
float omega = 2.0 * pi * freq; // Angular frequency
|
||||
float angle = tex.y * omega * texture_sizeY + phase;
|
||||
|
||||
lines = sin(angle);
|
||||
lines *= amp;
|
||||
lines += offset;
|
||||
lines = abs(lines) * (lines_white - lines_black) + lines_black;
|
||||
color *= lines;
|
||||
|
||||
return color.xyzz;
|
||||
}
|
||||
|
||||
technique ScanlinesAbs {
|
||||
pass ScanlinesAbsolute{
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_ScanlinesAbs;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user