Skip to content

Instantly share code, notes, and snippets.

@Sephirothphoenix
Created February 25, 2021 05:58
Show Gist options
  • Save Sephirothphoenix/88bd24a52660bb3664e70d5cf3f4660d to your computer and use it in GitHub Desktop.
Save Sephirothphoenix/88bd24a52660bb3664e70d5cf3f4660d to your computer and use it in GitHub Desktop.
Robe Shaders (Golden Scythe, Godot)
shader_type canvas_item;
void fragment() {
// Color of the current pixel
vec4 oC = texture(TEXTURE, UV);
// Get the difference between the current pixel color and the color to replace, and replace the color
// Exterior Main
if (max(max(max(abs(oC.r - 0.408), abs(oC.g - 0.282)), abs(oC.b - 0.471)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.384,
0.718,
0.882,
abs(sin(TIME*100.0)/2.0)
);}
// Exterior Dark
else if (max(max(max(abs(oC.r - 0.282), abs(oC.g - 0.220)), abs(oC.b - 0.314)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.263,
0.475,
0.580,
abs(sin(TIME*100.0)/2.0)
);}
// Exterior Light
else if (max(max(max(abs(oC.r - 0.533), abs(oC.g - 0.471)), abs(oC.b - 0.659)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.502,
0.835,
1.000,
abs(sin(TIME*100.0)/2.0)
);}
// Exterior Lining
else if (max(max(max(abs(oC.r - 0.165), abs(oC.g - 0.098)), abs(oC.b - 0.196)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.176,
0.337,
0.420,
abs(sin(TIME*100.0)/2.0)
);}
// Interior Main
else if (max(max(max(abs(oC.r - 0.251), abs(oC.g - 0.0)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0,
0.35,
0.5,
abs(sin(TIME*100.0)/2.0)
);}
// Interior Dark
else if (max(max(max(abs(oC.r - 0.188), abs(oC.g - 0.063)), abs(oC.b - 0.094)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0,
0.25,
0.4,
abs(sin(TIME*100.0)/2.0)
);}
// Interior Light
else if (max(max(max(abs(oC.r - 0.251), abs(oC.g - 0.125)), abs(oC.b - 0.188)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0,
0.4,
0.6,
abs(sin(TIME*100.0)/2.0)
);}
// Silver Main
else if (max(max(max(abs(oC.r - 0.471), abs(oC.g - 0.502)), abs(oC.b - 0.471)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.188,
0.631,
0.733,
abs(sin(TIME*100.0)/2.0)
);}
// Silver Dim
else if (max(max(max(abs(oC.r - 0.282), abs(oC.g - 0.314)), abs(oC.b - 0.282)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.145,
0.427,
0.494,
abs(sin(TIME*100.0)/2.0)
);}
// Silver Dark
else if (max(max(max(abs(oC.r - 0.188), abs(oC.g - 0.188)), abs(oC.b - 0.157)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.086,
0.329,
0.388,
abs(sin(TIME*100.0)/2.0)
);}
// Silver Light
else if (max(max(max(abs(oC.r - 0.722), abs(oC.g - 0.753)), abs(oC.b - 0.722)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.322,
0.812,
0.925,
abs(sin(TIME*100.0)/2.0)
);}
// Chain Top
else if (max(max(max(abs(oC.r - 0.722), abs(oC.g - 0.565)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.502*(2.0-abs(sin(TIME))),
0.835*(2.0-abs(sin(TIME))),
0.999*(2.0-abs(sin(TIME))),
abs(sin(TIME*100.0)/2.0)
);}
// Chain Bottom
else if (max(max(max(abs(oC.r - 0.533), abs(oC.g - 0.282)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.502*(2.0-abs(sin(TIME))),
0.835*(2.0-abs(sin(TIME))),
0.999*(2.0-abs(sin(TIME))),
abs(sin(TIME*100.0)/2.0)
);}
// Chain Middle
else if (max(max(max(abs(oC.r - 0.314), abs(oC.g - 0.125)), abs(oC.b - 0.031)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.502*(2.0-abs(sin(TIME))),
0.835*(2.0-abs(sin(TIME))),
0.999*(2.0-abs(sin(TIME))),
abs(sin(TIME*100.0)/2.0)
);}
COLOR = oC;
}
shader_type canvas_item;
void fragment() {
// Color of the current pixel
vec4 oC = texture(TEXTURE, UV);
// Get the difference between the current pixel color and the color to replace, and replace the color
// Exterior Main
if (max(max(abs(oC.r - 0.408), abs(oC.g - 0.282)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
0.784 + 0.063*abs(sin(TIME)),
0.345 + 0.282*abs(sin(TIME)),
0.063 + 0.345*abs(sin(TIME)),
oC.a
);}
// Exterior Dark
else if (max(max(abs(oC.r - 0.282), abs(oC.g - 0.220)), abs(oC.b - 0.314)) <= 0.01){oC = vec4(
0.784 + 0.063*abs(sin(TIME + 5.0)),
0.345 + 0.282*abs(sin(TIME + 5.0)),
0.063 + 0.345*abs(sin(TIME + 5.0)),
oC.a
);}
// Exterior Light
else if (max(max(abs(oC.r - 0.533), abs(oC.g - 0.471)), abs(oC.b - 0.659)) <= 0.01){oC = vec4(
0.784 + 0.063*abs(sin(TIME + 10.0)),
0.345 + 0.282*abs(sin(TIME + 10.0)),
0.063 + 0.345*abs(sin(TIME + 10.0)),
oC.a
);}
// Exterior Lining
else if (max(max(abs(oC.r - 0.165), abs(oC.g - 0.098)), abs(oC.b - 0.196)) <= 0.01){oC = vec4(
0.784 + 0.063*abs(sin(TIME + 15.0)),
0.345 + 0.282*abs(sin(TIME + 15.0)),
0.063 + 0.345*abs(sin(TIME + 15.0)),
oC.a
);}
// Interior Main
else if (max(max(abs(oC.r - 0.251), abs(oC.g - 0.0)), abs(oC.b - 0.0)) <= 0.01){oC = vec4(
0.392 + 0.033*abs(sin(TIME)),
0.172 + 0.141*abs(sin(TIME)),
0.033 + 0.172*abs(sin(TIME)),
oC.a
);}
// Interior Dark
else if (max(max(abs(oC.r - 0.188), abs(oC.g - 0.063)), abs(oC.b - 0.094)) <= 0.01){oC = vec4(
0.392 + 0.033*abs(sin(TIME + 5.0)),
0.172 + 0.141*abs(sin(TIME + 5.0)),
0.033 + 0.172*abs(sin(TIME + 5.0)),
oC.a
);}
// Interior Light
else if (max(max(abs(oC.r - 0.251), abs(oC.g - 0.125)), abs(oC.b - 0.188)) <= 0.01){oC = vec4(
0.392 + 0.033*abs(sin(TIME + 10.0)),
0.172 + 0.141*abs(sin(TIME + 10.0)),
0.033 + 0.172*abs(sin(TIME + 10.0)),
oC.a
);}
// Silver Main
else if (max(max(abs(oC.r - 0.471), abs(oC.g - 0.502)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
0.980 + 0.063*abs(sin(TIME)),
0.431 + 0.282*abs(sin(TIME)),
0.079 + 0.345*abs(sin(TIME)),
oC.a
);}
// Silver Dim
else if (max(max(abs(oC.r - 0.282), abs(oC.g - 0.314)), abs(oC.b - 0.282)) <= 0.01){oC = vec4(
0.980 + 0.063*abs(sin(TIME + 5.0)),
0.431 + 0.282*abs(sin(TIME + 5.0)),
0.079 + 0.345*abs(sin(TIME + 5.0)),
oC.a
);}
// Silver Dark
else if (max(max(abs(oC.r - 0.188), abs(oC.g - 0.188)), abs(oC.b - 0.157)) <= 0.01){oC = vec4(
0.980 + 0.063*abs(sin(TIME + 10.0)),
0.431 + 0.282*abs(sin(TIME + 10.0)),
0.079 + 0.345*abs(sin(TIME + 10.0)),
oC.a
);}
// Silver Light
else if (max(max(abs(oC.r - 0.722), abs(oC.g - 0.753)), abs(oC.b - 0.722)) <= 0.01){oC = vec4(
0.980 + 0.063*abs(sin(TIME + 15.0)),
0.431 + 0.282*abs(sin(TIME + 15.0)),
0.079 + 0.345*abs(sin(TIME + 15.0)),
oC.a
);}
// Chain Top
else if (max(max(max(abs(oC.r - 0.722), abs(oC.g - 0.565)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.980 + 0.080*abs(sin(TIME)),
0.431 + 0.400*abs(sin(TIME)),
0.079 + 0.500*abs(sin(TIME)),
oC.a
);}
// Chain Bottom
else if (max(max(max(abs(oC.r - 0.533), abs(oC.g - 0.282)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.980 + 0.080*abs(sin(TIME + 5.0)),
0.431 + 0.400*abs(sin(TIME + 5.0)),
0.079 + 0.500*abs(sin(TIME + 5.0)),
oC.a
);}
// Chain Middle
else if (max(max(max(abs(oC.r - 0.314), abs(oC.g - 0.125)), abs(oC.b - 0.031)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.980 + 0.080*abs(sin(TIME + 10.0)),
0.431 + 0.400*abs(sin(TIME + 10.0)),
0.079 + 0.500*abs(sin(TIME + 10.0)),
oC.a
);}
COLOR = oC;
}
shader_type canvas_item;
void fragment() {
// Color of the current pixel
vec4 oC = texture(TEXTURE, UV);
// Get the difference between the current pixel color and the color to replace, and replace the color
// Exterior Main
if (max(max(abs(oC.r - 0.408), abs(oC.g - 0.282)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
0.8*abs(sin(TIME)),
0.8*abs(sin(TIME/2.0)),
0.8*abs(sin(TIME/3.0)),
oC.a
);}
// Exterior Dark
else if (max(max(abs(oC.r - 0.282), abs(oC.g - 0.220)), abs(oC.b - 0.314)) <= 0.01){oC = vec4(
0.6*abs(sin(TIME)),
0.6*abs(sin(TIME/2.0)),
0.6*abs(sin(TIME/3.0)),
oC.a
);}
// Exterior Light
else if (max(max(abs(oC.r - 0.533), abs(oC.g - 0.471)), abs(oC.b - 0.659)) <= 0.01){oC = vec4(
1.0*abs(sin(TIME)),
1.0*abs(sin(TIME/2.0)),
1.0*abs(sin(TIME/3.0)),
oC.a
);}
// Exterior Lining
else if (max(max(abs(oC.r - 0.165), abs(oC.g - 0.098)), abs(oC.b - 0.196)) <= 0.01){oC = vec4(
0.4*abs(sin(TIME)),
0.4*abs(sin(TIME/2.0)),
0.4*abs(sin(TIME/3.0)),
oC.a
);}
// Interior Main
else if (max(max(abs(oC.r - 0.251), abs(oC.g - 0.0)), abs(oC.b - 0.0)) <= 0.01){oC = vec4(
0.5*abs(sin(TIME + 5.0)),
0.5*abs(sin(TIME/2.0 + 5.0)),
0.5*abs(sin(TIME/3.0 + 5.0)),
oC.a
);}
// Interior Dark
else if (max(max(abs(oC.r - 0.188), abs(oC.g - 0.063)), abs(oC.b - 0.094)) <= 0.01){oC = vec4(
0.3*abs(sin(TIME + 5.0)),
0.3*abs(sin(TIME/2.0 + 5.0)),
0.3*abs(sin(TIME/3.0 + 5.0)),
oC.a
);}
// Interior Light
else if (max(max(abs(oC.r - 0.251), abs(oC.g - 0.125)), abs(oC.b - 0.188)) <= 0.01){oC = vec4(
0.7*abs(sin(TIME + 5.0)),
0.7*abs(sin(TIME/2.0 + 5.0)),
0.7*abs(sin(TIME/3.0 + 5.0)),
oC.a
);}
// Silver Main
else if (max(max(abs(oC.r - 0.471), abs(oC.g - 0.502)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
0.5,
0.5,
0.5,
oC.a
);}
// Silver Dim
else if (max(max(abs(oC.r - 0.282), abs(oC.g - 0.314)), abs(oC.b - 0.282)) <= 0.01){oC = vec4(
0.3,
0.3,
0.3,
oC.a
);}
// Silver Dark
else if (max(max(abs(oC.r - 0.188), abs(oC.g - 0.188)), abs(oC.b - 0.157)) <= 0.01){oC = vec4(
0.2,
0.2,
0.2,
oC.a
);}
// Silver Light
else if (max(max(abs(oC.r - 0.722), abs(oC.g - 0.753)), abs(oC.b - 0.722)) <= 0.01){oC = vec4(
0.7,
0.7,
0.7,
oC.a
);}
// Chain Top
else if (max(max(max(abs(oC.r - 0.722), abs(oC.g - 0.565)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.5*abs(sin(TIME + 10.0)),
0.5*abs(sin(TIME/2.0 + 10.0)),
0.5*abs(sin(TIME/3.0 + 10.0)),
oC.a
);}
// Chain Bottom
else if (max(max(max(abs(oC.r - 0.533), abs(oC.g - 0.282)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.3*abs(sin(TIME + 10.0)),
0.3*abs(sin(TIME/2.0 + 10.0)),
0.3*abs(sin(TIME/3.0 + 10.0)),
oC.a
);}
// Chain Middle
else if (max(max(max(abs(oC.r - 0.314), abs(oC.g - 0.125)), abs(oC.b - 0.031)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.9*abs(sin(TIME + 10.0)),
0.9*abs(sin(TIME/2.0 + 10.0)),
0.9*abs(sin(TIME/3.0 + 10.0)),
oC.a
);}
COLOR = oC;
}
shader_type canvas_item;
void fragment() {
// Color of the current pixel
vec4 oC = texture(TEXTURE, UV);
// Get the difference between the current pixel color and the color to replace, and replace the color
// Exterior Main
if (max(max(abs(oC.r - 0.408), abs(oC.g - 0.282)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
0.7,
0.7,
0.7,
oC.a
);}
// Exterior Dark
else if (max(max(abs(oC.r - 0.282), abs(oC.g - 0.220)), abs(oC.b - 0.314)) <= 0.01){oC = vec4(
0.6,
0.6,
0.6,
oC.a
);}
// Exterior Light
else if (max(max(abs(oC.r - 0.533), abs(oC.g - 0.471)), abs(oC.b - 0.659)) <= 0.01){oC = vec4(
0.8,
0.8,
0.8,
oC.a
);}
// Exterior Lining
else if (max(max(abs(oC.r - 0.165), abs(oC.g - 0.098)), abs(oC.b - 0.196)) <= 0.01){oC = vec4(
0.439,
0.408,
0.188,
oC.a
);}
// Interior Main
else if (max(max(abs(oC.r - 0.251), abs(oC.g - 0.0)), abs(oC.b - 0.0)) <= 0.01){oC = vec4(
0.439,
0.408,
0.188,
oC.a
);}
// Interior Dark
else if (max(max(abs(oC.r - 0.188), abs(oC.g - 0.063)), abs(oC.b - 0.094)) <= 0.01){oC = vec4(
0.251,
0.220,
0.063,
oC.a
);}
// Interior Light
else if (max(max(abs(oC.r - 0.251), abs(oC.g - 0.125)), abs(oC.b - 0.188)) <= 0.01){oC = vec4(
0.596,
0.596,
0.314,
oC.a
);}
// Silver Main
else if (max(max(abs(oC.r - 0.471), abs(oC.g - 0.502)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
0.816,
0.847,
0.471,
oC.a
);}
// Silver Dim
else if (max(max(abs(oC.r - 0.282), abs(oC.g - 0.314)), abs(oC.b - 0.282)) <= 0.01){oC = vec4(
0.596,
0.596,
0.314,
oC.a
);}
// Silver Dark
else if (max(max(abs(oC.r - 0.188), abs(oC.g - 0.188)), abs(oC.b - 0.157)) <= 0.01){oC = vec4(
0.439,
0.408,
0.188,
oC.a
);}
// Silver Light
else if (max(max(abs(oC.r - 0.722), abs(oC.g - 0.753)), abs(oC.b - 0.722)) <= 0.01){oC = vec4(
0.973,
0.941,
0.659,
oC.a
);}
// Chain Top
else if (max(max(max(abs(oC.r - 0.722), abs(oC.g - 0.565)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.973,
0.941,
0.659,
oC.a
);}
// Chain Bottom
else if (max(max(max(abs(oC.r - 0.533), abs(oC.g - 0.282)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.816,
0.847,
0.471,
oC.a
);}
// Chain Middle
else if (max(max(max(abs(oC.r - 0.314), abs(oC.g - 0.125)), abs(oC.b - 0.031)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.596,
0.596,
0.314,
oC.a
);}
COLOR = oC;
}
shader_type canvas_item;
void fragment() {
// Color of the current pixel
vec4 oC = texture(TEXTURE, UV);
// Get the difference between the current pixel color and the color to replace, and replace the color
// Exterior Main
if (max(max(abs(oC.r - 0.408), abs(oC.g - 0.282)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
0.4 + 0.2*max(fract(-TIME*1.0),fract(-TIME*3.0)),
0.4 + 0.2*max(fract(-TIME*1.0),fract(-TIME*3.0)),
0.4 + 0.2*max(fract(-TIME*1.0),fract(-TIME*3.0)),
oC.a
);}
// Exterior Dark
else if (max(max(abs(oC.r - 0.282), abs(oC.g - 0.220)), abs(oC.b - 0.314)) <= 0.01){oC = vec4(
0.3 + 0.2*max(fract(-TIME/1.5),fract(-TIME/3.5)),
0.3 + 0.2*max(fract(-TIME/1.5),fract(-TIME/3.5)),
0.3 + 0.2*max(fract(-TIME/1.5),fract(-TIME/3.5)),
oC.a
);}
// Exterior Light
else if (max(max(abs(oC.r - 0.533), abs(oC.g - 0.471)), abs(oC.b - 0.659)) <= 0.01){oC = vec4(
0.5 + 0.2*max(fract(-TIME/2.0),fract(-TIME/5.0)),
0.5 + 0.2*max(fract(-TIME/2.0),fract(-TIME/5.0)),
0.5 + 0.2*max(fract(-TIME/2.0),fract(-TIME/5.0)),
oC.a
);}
// Exterior Lining
else if (max(max(abs(oC.r - 0.165), abs(oC.g - 0.098)), abs(oC.b - 0.196)) <= 0.01){oC = vec4(
0.2 + 0.2*max(fract(-TIME/4.0),fract(-TIME/3.0)),
0.2 + 0.2*max(fract(-TIME/4.0),fract(-TIME/3.0)),
0.2 + 0.2*max(fract(-TIME/4.0),fract(-TIME/3.0)),
oC.a
);}
// Interior Main
else if (max(max(abs(oC.r - 0.251), abs(oC.g - 0.0)), abs(oC.b - 0.0)) <= 0.01){oC = vec4(
0.227*max(fract(-TIME*1.0),fract(-TIME*3.0)),
0.694*max(fract(-TIME*1.0),fract(-TIME*3.0)),
0.999*max(fract(-TIME*1.0),fract(-TIME*3.0)),
oC.a
);}
// Interior Dark
else if (max(max(abs(oC.r - 0.188), abs(oC.g - 0.063)), abs(oC.b - 0.094)) <= 0.01){oC = vec4(
0,
0.608*max(fract(-TIME/1.5),fract(-TIME/3.5)),
0.999*max(fract(-TIME/1.5),fract(-TIME/3.5)),
oC.a
);}
// Interior Light
else if (max(max(abs(oC.r - 0.251), abs(oC.g - 0.125)), abs(oC.b - 0.188)) <= 0.01){oC = vec4(
0.498*max(fract(-TIME/2.0),fract(-TIME/5.0)),
0.800*max(fract(-TIME/2.0),fract(-TIME/5.0)),
0.999*max(fract(-TIME/2.0),fract(-TIME/5.0)),
oC.a
);}
// Silver Main
else if (max(max(abs(oC.r - 0.471), abs(oC.g - 0.502)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
0.227*max(fract(-TIME*1.0),fract(-TIME*3.0)),
0.694*max(fract(-TIME*1.0),fract(-TIME*3.0)),
0.999*max(fract(-TIME*1.0),fract(-TIME*3.0)),
oC.a
);}
// Silver Dim
else if (max(max(abs(oC.r - 0.282), abs(oC.g - 0.314)), abs(oC.b - 0.282)) <= 0.01){oC = vec4(
0,
0.608*max(fract(-TIME/4.0),fract(-TIME/3.0)),
0.999*max(fract(-TIME/4.0),fract(-TIME/3.0)),
oC.a
);}
// Silver Dark
else if (max(max(abs(oC.r - 0.188), abs(oC.g - 0.188)), abs(oC.b - 0.157)) <= 0.01){oC = vec4(
0,
0.502*max(fract(-TIME/1.5),fract(-TIME/3.5)),
0.827*max(fract(-TIME/1.5),fract(-TIME/3.5)),
oC.a
);}
// Silver Light
else if (max(max(abs(oC.r - 0.722), abs(oC.g - 0.753)), abs(oC.b - 0.722)) <= 0.01){oC = vec4(
0.498*max(fract(-TIME/2.0),fract(-TIME/5.0)),
0.800*max(fract(-TIME/2.0),fract(-TIME/5.0)),
0.999*max(fract(-TIME/2.0),fract(-TIME/5.0)),
oC.a
);}
// Chain Top
else if (max(max(max(abs(oC.r - 0.722), abs(oC.g - 0.565)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.498*max(fract(-TIME/2.0),fract(-TIME/5.0)),
0.800*max(fract(-TIME/2.0),fract(-TIME/5.0)),
0.999*max(fract(-TIME/2.0),fract(-TIME/5.0)),
oC.a
);}
// Chain Bottom
else if (max(max(max(abs(oC.r - 0.533), abs(oC.g - 0.282)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.227*max(fract(-TIME*1.0),fract(-TIME*3.0)),
0.694*max(fract(-TIME*1.0),fract(-TIME*3.0)),
0.999*max(fract(-TIME*1.0),fract(-TIME*3.0)),
oC.a
);}
// Chain Middle
else if (max(max(max(abs(oC.r - 0.314), abs(oC.g - 0.125)), abs(oC.b - 0.031)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0,
0.608*max(fract(-TIME/4.0),fract(-TIME/3.0)),
0.999*max(fract(-TIME/4.0),fract(-TIME/3.0)),
oC.a
);}
COLOR = oC;
}
shader_type canvas_item;
void fragment() {
// Color of the current pixel
vec4 oC = texture(TEXTURE, UV);
// Get the highest difference between the current pixel color and the color to replace, and replace the color
// Specific color you want to change
// Input %RGB values [Here] [Here] and [Here]
// To get alpha difference, just add another max() with the corresponding difference
if (max(max(abs(oC.r - 0.408), abs(oC.g - 0.282)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
0,
0,
0,
oC.a
);}
COLOR = oC;
}
shader_type canvas_item;
void fragment() {
// Color of the current pixel
vec4 oC = texture(TEXTURE, UV);
// Get the difference between the current pixel color and the color to replace, and replace the color
//
// Exterior Main
if (max(max(abs(oC.r - 0.408), abs(oC.g - 0.282)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
0.05,
0.05,
0.05,
oC.a
);}
// Exterior Dark
else if (max(max(abs(oC.r - 0.282), abs(oC.g - 0.220)), abs(oC.b - 0.314)) <= 0.01){oC = vec4(
0,
0,
0,
oC.a
);}
// Exterior Light
else if (max(max(abs(oC.r - 0.533), abs(oC.g - 0.471)), abs(oC.b - 0.659)) <= 0.01){oC = vec4(
0.075,
0.075,
0.075,
oC.a
);}
// Exterior Lining
else if (max(max(abs(oC.r - 0.165), abs(oC.g - 0.098)), abs(oC.b - 0.196)) <= 0.01){oC = vec4(
0.075,
0.075,
0.075,
oC.a
);}
// Interior Main
else if (max(max(abs(oC.r - 0.251), abs(oC.g - 0.0)), abs(oC.b - 0.0)) <= 0.01){oC = vec4(
abs(sin(TIME))/3.0,
abs(sin(TIME))/15.0,
abs(sin(TIME))/15.0,
oC.a
);}
// Interior Dark
else if (max(max(abs(oC.r - 0.188), abs(oC.g - 0.063)), abs(oC.b - 0.094)) <= 0.01){oC = vec4(
abs(sin(TIME))/5.0,
abs(sin(TIME))/25.0,
abs(sin(TIME))/25.0,
oC.a
);}
// Interior Light
else if (max(max(abs(oC.r - 0.251), abs(oC.g - 0.125)), abs(oC.b - 0.188)) <= 0.01){oC = vec4(
abs(sin(TIME))/2.0,
abs(sin(TIME))/10.0,
abs(sin(TIME))/10.0,
oC.a
);}
// Silver Main
else if (max(max(abs(oC.r - 0.471), abs(oC.g - 0.502)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
abs(sin(TIME))/3.0,
0,
0,
oC.a
);}
// Silver Dim
else if (max(max(abs(oC.r - 0.282), abs(oC.g - 0.314)), abs(oC.b - 0.282)) <= 0.01){oC = vec4(
abs(sin(TIME))/4.0,
0,
0,
oC.a
);}
// Silver Dark
else if (max(max(abs(oC.r - 0.188), abs(oC.g - 0.188)), abs(oC.b - 0.157)) <= 0.01){oC = vec4(
abs(sin(TIME))/5.0,
0,
0,
oC.a
);}
// Silver Light
else if (max(max(abs(oC.r - 0.722), abs(oC.g - 0.753)), abs(oC.b - 0.722)) <= 0.01){oC = vec4(
abs(sin(TIME))/2.0,
0,
0,
oC.a
);}
COLOR = oC;
}
shader_type canvas_item;
void fragment() {
// Color of the current pixel
vec4 oC = texture(TEXTURE, UV);
// Get the difference between the current pixel color and the color to replace, and replace the color
// Exterior Main
if (max(max(abs(oC.r - 0.408), abs(oC.g - 0.282)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
0.1 + 0.1*abs(sin(TIME)),
0.1 + 0.1*abs(sin(TIME)),
0.1 + 0.1*abs(sin(TIME)),
oC.a
);}
// Exterior Dark
else if (max(max(abs(oC.r - 0.282), abs(oC.g - 0.220)), abs(oC.b - 0.314)) <= 0.01){oC = vec4(
0.1 + 0.1*abs(sin(TIME + 5.0)),
0.1 + 0.1*abs(sin(TIME + 5.0)),
0.1 + 0.1*abs(sin(TIME + 5.0)),
oC.a
);}
// Exterior Light
else if (max(max(abs(oC.r - 0.533), abs(oC.g - 0.471)), abs(oC.b - 0.659)) <= 0.01){oC = vec4(
0.1 + 0.1*abs(sin(TIME + 3.5)),
0.1 + 0.1*abs(sin(TIME + 3.5)),
0.1 + 0.1*abs(sin(TIME + 3.5)),
oC.a
);}
// Exterior Lining
else if (max(max(abs(oC.r - 0.165), abs(oC.g - 0.098)), abs(oC.b - 0.196)) <= 0.01){oC = vec4(
0.1 + 0.1*abs(sin(TIME + 1.5)),
0.1 + 0.1*abs(sin(TIME + 1.5)),
0.1 + 0.1*abs(sin(TIME + 1.5)),
oC.a
);}
// Interior Main
else if (max(max(abs(oC.r - 0.251), abs(oC.g - 0.0)), abs(oC.b - 0.0)) <= 0.01){oC = vec4(
0.05 + 0.05*abs(sin(TIME)),
0.05 + 0.05*abs(sin(TIME)),
0.05 + 0.05*abs(sin(TIME)),
oC.a
);}
// Interior Dark
else if (max(max(abs(oC.r - 0.188), abs(oC.g - 0.063)), abs(oC.b - 0.094)) <= 0.01){oC = vec4(
0.05 + 0.05*abs(sin(TIME + 5.0)),
0.05 + 0.05*abs(sin(TIME + 5.0)),
0.05 + 0.05*abs(sin(TIME + 5.0)),
oC.a
);}
// Interior Light
else if (max(max(abs(oC.r - 0.251), abs(oC.g - 0.125)), abs(oC.b - 0.188)) <= 0.01){oC = vec4(
0.05 + 0.05*abs(sin(TIME + 2.5)),
0.05 + 0.05*abs(sin(TIME + 2.5)),
0.05 + 0.05*abs(sin(TIME + 2.5)),
oC.a
);}
// Silver Main
else if (max(max(abs(oC.r - 0.471), abs(oC.g - 0.502)), abs(oC.b - 0.471)) <= 0.01){oC = vec4(
0.2 + 0.2*abs(sin(TIME)),
0.2 + 0.2*abs(sin(TIME)),
0.2 + 0.2*abs(sin(TIME)),
oC.a
);}
// Silver Dim
else if (max(max(abs(oC.r - 0.282), abs(oC.g - 0.314)), abs(oC.b - 0.282)) <= 0.01){oC = vec4(
0.2 + 0.2*abs(sin(TIME + 1.5)),
0.2 + 0.2*abs(sin(TIME + 1.5)),
0.2 + 0.2*abs(sin(TIME + 1.5)),
oC.a
);}
// Silver Dark
else if (max(max(abs(oC.r - 0.188), abs(oC.g - 0.188)), abs(oC.b - 0.157)) <= 0.01){oC = vec4(
0.2 + 0.2*abs(sin(TIME + 3.5)),
0.2 + 0.2*abs(sin(TIME + 3.5)),
0.2 + 0.2*abs(sin(TIME + 3.5)),
oC.a
);}
// Silver Light
else if (max(max(abs(oC.r - 0.722), abs(oC.g - 0.753)), abs(oC.b - 0.722)) <= 0.01){oC = vec4(
0.2 + 0.2*abs(sin(TIME + 5.0)),
0.2 + 0.2*abs(sin(TIME + 5.0)),
0.2 + 0.2*abs(sin(TIME + 5.0)),
oC.a
);}
// Chain Top
else if (max(max(max(abs(oC.r - 0.722), abs(oC.g - 0.565)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.0 + 0.4*abs(sin(TIME)),
0.0 + 0.4*abs(sin(TIME)),
0.0 + 0.4*abs(sin(TIME)),
oC.a
);}
// Chain Bottom
else if (max(max(max(abs(oC.r - 0.533), abs(oC.g - 0.282)), abs(oC.b - 0.0)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.0 + 0.4*abs(sin(TIME + 2.5)),
0.0 + 0.4*abs(sin(TIME + 2.5)),
0.0 + 0.4*abs(sin(TIME + 2.5)),
oC.a
);}
// Chain Middle
else if (max(max(max(abs(oC.r - 0.314), abs(oC.g - 0.125)), abs(oC.b - 0.031)), abs(oC.a - 1.0)) <= 0.01){oC = vec4(
0.0 + 0.4*abs(sin(TIME + 5.0)),
0.0 + 0.4*abs(sin(TIME + 5.0)),
0.0 + 0.4*abs(sin(TIME + 5.0)),
oC.a
);}
COLOR = oC;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment