1
0
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:
Filippo Scognamiglio 2014-06-20 01:54:14 +02:00
parent 2423957cc8
commit 21c7f2c23e
2 changed files with 19 additions and 12 deletions

View File

@ -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;" : "") +

View File

@ -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{