mirror of
https://github.com/Swordfish90/cool-retro-term.git
synced 2025-02-21 20:39:00 +00:00
Smooth static noise and fixes
This commit is contained in:
parent
2423957cc8
commit
21c7f2c23e
@ -32,7 +32,6 @@ ShaderEffect {
|
||||
property real bloom: shadersettings.bloom_strength
|
||||
|
||||
property int rasterization: shadersettings.rasterization
|
||||
property real rasterization_strength: 0.5
|
||||
|
||||
property real noise_strength: shadersettings.noise_strength
|
||||
property real screen_distorsion: shadersettings.screen_distortion
|
||||
@ -151,7 +150,8 @@ ShaderEffect {
|
||||
"float color = texture2D(source, coords).a;" +
|
||||
|
||||
(noise_strength !== 0 ? "
|
||||
color += texture2D(noiseSource, qt_TexCoord0 * 0.25 + fract(time / 100.0)).a * noise * (1.0 - distance * distance * 2.0);" : "") +
|
||||
float noiseVal = texture2D(noiseSource, qt_TexCoord0 + vec2(fract(time / 51.0), fract(time / 237.0))).a;
|
||||
color += noiseVal * noise * (1.0 - distance * 1.3);" : "") +
|
||||
|
||||
(glowing_line_strength !== 0 ? "
|
||||
color += randomPass(coords) * glowing_line_strength;" : "") +
|
||||
@ -161,7 +161,7 @@ ShaderEffect {
|
||||
|
||||
"vec3 finalColor = mix(background_color, font_color, color).rgb;" +
|
||||
"finalColor = mix(finalColor * 1.1, vec3(0.0), 1.2 * distance * distance);" +
|
||||
"finalColor *= (texture2D(rasterizationSource, coords).a) / "+rasterization_strength+";" +
|
||||
"finalColor *= texture2D(rasterizationSource, coords).a;" +
|
||||
|
||||
(brightness_flickering !== 0 ? "
|
||||
finalColor *= brightness;" : "") +
|
||||
|
@ -250,16 +250,16 @@ Item{
|
||||
(mScanlines == shadersettings.pixel_rasterization ? "
|
||||
coords.x = floor(virtual_resolution.x * coords.x) / virtual_resolution.x;" : "")
|
||||
: "") +
|
||||
|
||||
"float color = texture2D(source, coords + delta).r * 256.0;" +
|
||||
"coords = coords + delta;" +
|
||||
"float color = texture2D(source, coords).r * 256.0;" +
|
||||
(mBlur !== 0 ?
|
||||
"float blurredSourceColor = texture2D(blurredSource, qt_TexCoord0).a * 256.0;" +
|
||||
"float blurredSourceColor = texture2D(blurredSource, coords).a * 256.0;" +
|
||||
"blurredSourceColor = blurredSourceColor - blurredSourceColor * " + (1.0 - motionBlurCoefficient) * fpsAttenuation+ ";" +
|
||||
"color = step(1.0, color) * color + step(color, 1.0) * blurredSourceColor;"
|
||||
: "") +
|
||||
|
||||
|
||||
"gl_FragColor.a = vec4(floor(color) / 256.0);" +
|
||||
"gl_FragColor.a = floor(color) / 256.0;" +
|
||||
"}"
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
@ -301,7 +301,7 @@ Item{
|
||||
varying highp vec2 qt_TexCoord0;
|
||||
uniform highp vec2 virtual_resolution;" +
|
||||
|
||||
"highp float rand(vec2 co)
|
||||
"highp float noise(vec2 co)
|
||||
{
|
||||
highp float a = 12.9898;
|
||||
highp float b = 78.233;
|
||||
@ -311,13 +311,20 @@ Item{
|
||||
return fract(sin(sn) * c);
|
||||
}
|
||||
|
||||
float stepNoise(vec2 p){
|
||||
vec2 newP = p * virtual_resolution;
|
||||
return rand(newP);
|
||||
vec2 sw(vec2 p) {return vec2( floor(p.x) , floor(p.y) );}
|
||||
vec2 se(vec2 p) {return vec2( ceil(p.x) , floor(p.y) );}
|
||||
vec2 nw(vec2 p) {return vec2( floor(p.x) , ceil(p.y) );}
|
||||
vec2 ne(vec2 p) {return vec2( ceil(p.x) , ceil(p.y) );}
|
||||
|
||||
float smoothNoise(vec2 p) {
|
||||
vec2 inter = smoothstep(0., 1., fract(p));
|
||||
float s = mix(noise(sw(p)), noise(se(p)), inter.x);
|
||||
float n = mix(noise(nw(p)), noise(ne(p)), inter.x);
|
||||
return mix(s, n, inter.y);
|
||||
}" +
|
||||
|
||||
"void main() {" +
|
||||
"gl_FragColor.a = stepNoise(qt_TexCoord0);" +
|
||||
"gl_FragColor.a = smoothNoise(qt_TexCoord0 * virtual_resolution);" +
|
||||
"}"
|
||||
}
|
||||
ShaderEffectSource{
|
||||
|
Loading…
x
Reference in New Issue
Block a user