Skip to content

Instantly share code, notes, and snippets.

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

Jimmy jimmyjonezz

🎯
Focusing...
View GitHub Profile
shader_type canvas_item;
void fragment() {
vec3 col = -8.0 * texture(SCREEN_TEXTURE, SCREEN_UV).xyz;
col += texture(SCREEN_TEXTURE, SCREEN_UV + vec2(0.0, SCREEN_PIXEL_SIZE.y)).xyz;
col += texture(SCREEN_TEXTURE, SCREEN_UV + vec2(0.0, -SCREEN_PIXEL_SIZE.y)).xyz;
col += texture(SCREEN_TEXTURE, SCREEN_UV + vec2(SCREEN_PIXEL_SIZE.x, 0.0)).xyz;
col += texture(SCREEN_TEXTURE, SCREEN_UV + vec2(-SCREEN_PIXEL_SIZE.x, 0.0)).xyz;
col += texture(SCREEN_TEXTURE, SCREEN_UV + SCREEN_PIXEL_SIZE.xy).xyz;
col += texture(SCREEN_TEXTURE, SCREEN_UV - SCREEN_PIXEL_SIZE.xy).xyz;
shader_type canvas_item;
render_mode unshaded;
uniform bool Smooth = true;
uniform float width : hint_range(0.0, 16) = 1.0;
uniform vec4 outline_color : hint_color = vec4(0.0, 0.0, 0.0, 1.0);
uniform int pixel_size : hint_range(1, 10) = 4;
void fragment()
{
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));
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;
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;
@jimmyjonezz
jimmyjonezz / hue.shader
Created January 3, 2020 20:52
switch color palette
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;
@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;