Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [gd_resource type="ShaderMaterial" load_steps=3 format=2]
- [ext_resource path="res://art/enemy/monsterPalette.png" type="Texture" id=1]
- [sub_resource type="Shader" id=1]
- code = "shader_type canvas_item;
- uniform int cPal = 3;
- uniform int nColor = 12;
- uniform int nPal = 4;
- uniform bool sfFx = false;
- uniform sampler2D palette : hint_albedo;
- uniform int sizeMaxH;
- float col(float nColor2,float cColor){
- return((1.0/nColor2)*cColor);
- }
- float pal(float nPal2,float cPal2){
- return((1.0/nPal2)*cPal2);
- }
- uniform int frame = 0;
- uniform float spacing = 1.0;
- uniform float size = 1.0;
- void fragment(){
- vec4 curColor = texture(TEXTURE,UV);
- float cColor = 0.1;
- vec3 oldTex;
- vec3 tex;
- for (int i = 0; i < 999999; i++){
- if (i>= nColor){
- break;
- }
- oldTex = texture(palette,vec2(col(float(nColor),cColor),0.0)).rgb;
- tex = texture(palette,vec2(col(float(nColor),cColor),pal(float(nPal),float(cPal)))).rgb;
- float swap = float((int(curColor.r == oldTex.r) + int(curColor.b == oldTex.b) + int(curColor.g == oldTex.g))==3);
- curColor.r = mix(curColor.r,tex.r,swap);
- curColor.b = mix(curColor.b,tex.b,swap);
- curColor.g = mix(curColor.g,tex.g,swap);
- cColor += 1.0;
- }
- COLOR = curColor;
- if (sfFx){
- if (COLOR.a>0.0){
- COLOR.a = floor(mod(((UV.y/size))*float(sizeMaxH),clamp(spacing,2.0,4.0)));
- }
- }
- }"
- [resource]
- shader = SubResource( 1 )
- shader_param/cPal = 1
- shader_param/nColor = 7
- shader_param/nPal = 4
- shader_param/sfFx = false
- shader_param/sizeMaxH = null
- shader_param/frame = 0
- shader_param/spacing = 1.0
- shader_param/size = 1.0
- shader_param/palette = ExtResource( 1 )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement