Skip to content

Instantly share code, notes, and snippets.

Avatar
🎯
Focusing...

Jimmy jimmyjonezz

🎯
Focusing...
View GitHub Profile
View anaglyph.shader
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);
}
View noise2D.shader
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;
View toxic.shader
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);
View 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;
View noise_anaglyph.shader
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));
View crt_filter.shader
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 / hue.shader
Created Jan 3, 2020
switch color palette
View hue.shader
shader_type canvas_item;
uniform float precision;
uniform float hue;
const mat3 rgb2yiq = mat3(vec3(0.299, 0.587, 0.114), vec3(0.595716, -0.274453, -0.321263), vec3(0.211456, -0.522591, 0.311135));
const mat3 yiq2rgb = mat3(vec3(1.0, 0.9563, 0.6210), vec3(1.0, -0.2721, -0.6474), vec3(1.0, -1.1070, 1.7046));
void fragment() {
vec3 yColor = rgb2yiq * texture(SCREEN_TEXTURE, SCREEN_UV).rgb;
View Transforming.shader
shader_type canvas_item;
render_mode unshaded;
uniform vec4 color : hint_color;
uniform int blurSize : hint_range(0,30);
void fragment()
{
mat3 transform = mat3(vec3(3,-0.4,-.35),vec3(.2,3,-.3),vec3(.2,1.5,1));
vec3 coords = vec3(SCREEN_UV,1.0)*transform;
View Shockwaves.shader
shader_type canvas_item;
uniform float _PI = 3.1415926535897932384626433832795;
uniform float xx = 4.0;
uniform float yy = 2.0;
vec2 getPixelShift(vec2 center,vec2 pixelpos,float startradius,float size,float shockfactor, vec2 iResolution) {
float m_distance = distance(center,pixelpos);
if( m_distance > startradius && m_distance < startradius+size ) {
float sin_dist = sin((m_distance -startradius)/size* _PI )*shockfactor;
return ( pixelpos - normalize(pixelpos-center)*sin_dist )/ iResolution.xy;
View palette_swapping_and_outline_shader.shader
shader_type canvas_item;
uniform sampler2D palette_tex; //Palette to reference, this should be a 1-pixel tall texture containing your palette info
uniform vec4 outline_col : hint_color; //Outline color
void fragment() {
//Get red value and sample palette based on it
float pal_sample = texture(TEXTURE,UV).r;
vec4 col = texture(palette_tex,vec2(pal_sample,0));