Skip to content

Instantly share code, notes, and snippets.

View jimmyjonezz's full-sized avatar
🎯
Focusing...

Jimmy jimmyjonezz

🎯
Focusing...
View GitHub Profile
@jimmyjonezz
jimmyjonezz / crt_filter.shader
Last active January 23, 2020 14:28
crt_filter
shader_type canvas_item;
float Less(float x, float value) {
return 1.0 - step(value, x);
}
// Will return a value of 1 if the 'x' is >= 'lower' && < 'upper'
float Between(float x, float lower, float upper) {
return step(lower, x) * (1.0 - step(upper, x));
}
@jimmyjonezz
jimmyjonezz / noise_anaglyph.shader
Last active January 23, 2020 15:19
noise + anaglyph
shader_type canvas_item;
uniform bool apply = true;
uniform float amount = 1.0;
uniform sampler2D offset_texture : hint_white;
vec4 hash42(vec2 p){
vec4 p4 = fract(vec4(p.xyxy) * vec4(443.8975,397.2973, 491.1871, 470.7827));
p4 += dot(p4.wzxy, p4 + 19.19);
return fract(vec4(p4.x * p4.y, p4.x * p4.z, p4.y * p4.w, p4.x * p4.w));
@jimmyjonezz
jimmyjonezz / squash.shader
Created March 19, 2020 15:07
squash shader
shader_type canvas_item;
render_mode blend_mix;
uniform float squash_power = 0.0;
uniform float squash_position = 0.0;
void fragment() {
vec2 uv = SCREEN_UV;
float PI = 3.14159;
shader_type canvas_item;
uniform sampler2D noise_tex;
// set the colors in shader params
uniform vec4 color_blend : hint_color;
uniform vec4 color_blend_2 : hint_color;
uniform float PI = 3.1415;
void fragment(){
vec2 move = vec2(sin(TIME + UV.y * PI) * 0.001, TIME * 0.01);
shader_type canvas_item;
// change these values to 0.0 to turn off individual effects
const float vertJerkOpt = 1.0;
const float vertMovementOpt = 1.0;
const float bottomStaticOpt = 1.0;
const float scalinesOpt = 1.0;
const float rgbOffsetOpt = .5;
const float horzFuzzOpt = 1.0;
shader_type canvas_item;
void fragment() {
vec4 left = texture(SCREEN_TEXTURE, SCREEN_UV);
vec4 right = texture(SCREEN_TEXTURE, SCREEN_UV + vec2(0.005, 0.001));
vec3 color = vec3(left.r, right.gb);
color = clamp(color, 0.0, 1.0);
COLOR = vec4(color, 1.0);
}
shader_type canvas_item;
uniform float AMPLITUDE = .1;
uniform float SPEED = 5.0;
vec4 rgbShift( in vec2 p , in vec4 shift, in sampler2D tex) {
vec2 rs = vec2(shift.x,-shift.y);
vec2 gs = vec2(shift.y,-shift.z);
vec2 bs = vec2(shift.z,-shift.x);
shader_type canvas_item;
uniform float brightness=0.8;
uniform float contrast=1.5;
uniform float saturation=1.8;
void fragment() {
vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
shader_type canvas_item;
uniform vec3 color = vec3(0.35, 0.48, 0.95);
uniform int OCTAVES = 4;
float randi(vec2 coord){
return fract(sin(dot(coord, vec2(56,78)) * 1000.0) * 1000.0); }
float noise(vec2 coord){
vec2 i = floor(coord);
shader_type canvas_item;
uniform float PI = 3.1415926535;
uniform float aperture = 178.0;
void fragment(){
float apertureHalf = 0.5 * aperture * (PI / 180.0);
float maxFactor = sin(apertureHalf);
vec2 uv;