mirror of
https://github.com/italicsjenga/slang-shaders.git
synced 2024-11-22 15:51:30 +11:00
commit
80319b10a6
|
@ -30,6 +30,8 @@ layout(push_constant) uniform Push
|
||||||
vec4 OriginalSize;
|
vec4 OriginalSize;
|
||||||
vec4 OutputSize;
|
vec4 OutputSize;
|
||||||
uint FrameCount;
|
uint FrameCount;
|
||||||
|
float TILE_FORMAT;
|
||||||
|
float TILE_DEPTH;
|
||||||
float TILE_SIZE;
|
float TILE_SIZE;
|
||||||
float COLOR_BOOST;
|
float COLOR_BOOST;
|
||||||
float OVERSCAN;
|
float OVERSCAN;
|
||||||
|
@ -37,12 +39,16 @@ layout(push_constant) uniform Push
|
||||||
float OutputGamma;
|
float OutputGamma;
|
||||||
} param;
|
} param;
|
||||||
|
|
||||||
#pragma parameter TILE_SIZE "Tile Size" 0.5 0.4 0.6 0.01
|
#pragma parameter TILE_FORMAT "Tile Format [ Normal | Deep]" 0.0 0.0 1.0 1.0
|
||||||
#pragma parameter COLOR_BOOST "Color Boost" 1.0 1.0 2.0 0.05
|
#pragma parameter TILE_DEPTH "Tile Depth" 1.0 0.0 1.0 0.1
|
||||||
#pragma parameter OVERSCAN "Over Scan" 0.0 -3.0 3.0 1.0
|
#pragma parameter TILE_SIZE "Tile Size" 0.5 0.4 0.6 0.01
|
||||||
#pragma parameter InputGamma "INPUT GAMMA" 2.7 0.0 3.0 0.1
|
#pragma parameter COLOR_BOOST "Color Boost" 1.0 1.0 2.0 0.05
|
||||||
#pragma parameter OutputGamma "OUTPUT GAMMA" 2.2 0.0 3.0 0.1
|
#pragma parameter OVERSCAN "Over Scan" 0.0 -3.0 3.0 1.0
|
||||||
|
#pragma parameter InputGamma "INPUT GAMMA" 2.4 0.0 4.0 0.1
|
||||||
|
#pragma parameter OutputGamma "OUTPUT GAMMA" 2.2 0.0 3.0 0.1
|
||||||
|
|
||||||
|
#define TILE_FORMAT param.TILE_FORMAT
|
||||||
|
#define TILE_DEPTH param.TILE_DEPTH
|
||||||
#define TILE_SIZE param.TILE_SIZE
|
#define TILE_SIZE param.TILE_SIZE
|
||||||
#define COLOR_BOOST param.COLOR_BOOST
|
#define COLOR_BOOST param.COLOR_BOOST
|
||||||
#define OVERSCAN param.OVERSCAN
|
#define OVERSCAN param.OVERSCAN
|
||||||
|
@ -85,9 +91,9 @@ layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||||
|
|
||||||
float fade(float size)
|
float fade(float size)
|
||||||
{
|
{
|
||||||
size = clamp(size, -1.0, 1.0);
|
size = clamp(size, -TILE_DEPTH, 1.0);
|
||||||
|
|
||||||
size = 1.0 - size * size * size;
|
size = 1.0 - size * size * size * mix(size * size, 1.0, TILE_FORMAT);
|
||||||
|
|
||||||
return size * size;
|
return size * size;
|
||||||
}
|
}
|
||||||
|
@ -106,8 +112,8 @@ void main()
|
||||||
vec3 C = GAMMA_IN(texture(Source, vTexCoord +g2).xyz);
|
vec3 C = GAMMA_IN(texture(Source, vTexCoord +g2).xyz);
|
||||||
vec3 D = GAMMA_IN(texture(Source, vTexCoord +g1+g2).xyz);
|
vec3 D = GAMMA_IN(texture(Source, vTexCoord +g1+g2).xyz);
|
||||||
|
|
||||||
vec2 dx = vec2(pos.x, 1.0 + min(-pos.x, pos.x)) / TILE_SIZE;
|
vec2 dx = vec2(pos.x, 1.0-pos.x) / TILE_SIZE;
|
||||||
vec2 dy = vec2(pos.y, 1.0 + min(-pos.y, pos.y)) / TILE_SIZE;
|
vec2 dy = vec2(pos.y, 1.0-pos.y) / TILE_SIZE;
|
||||||
|
|
||||||
vec2 wx = vec2(fade(dx.x), fade(dx.y));
|
vec2 wx = vec2(fade(dx.x), fade(dx.y));
|
||||||
vec2 wy = vec2(fade(dy.x), fade(dy.y));
|
vec2 wy = vec2(fade(dy.x), fade(dy.y));
|
||||||
|
|
Loading…
Reference in a new issue