Advertisement
Guest User

enemyColorMat.tres

a guest
Jan 23rd, 2020
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. [gd_resource type="ShaderMaterial" load_steps=3 format=2]
  2.  
  3. [ext_resource path="res://art/enemy/monsterPalette.png" type="Texture" id=1]
  4.  
  5. [sub_resource type="Shader" id=1]
  6. code = "shader_type canvas_item;
  7. uniform int cPal = 3;
  8. uniform int nColor = 12;
  9. uniform int nPal = 4;
  10. uniform bool sfFx = false;
  11. uniform sampler2D palette : hint_albedo;
  12. uniform int sizeMaxH;
  13.  
  14. float col(float nColor2,float cColor){
  15. return((1.0/nColor2)*cColor);
  16. }
  17. float pal(float nPal2,float cPal2){
  18. return((1.0/nPal2)*cPal2);
  19. }
  20.  
  21. uniform int frame = 0;
  22.  
  23. uniform float spacing = 1.0;
  24. uniform float size = 1.0;
  25.  
  26. void fragment(){
  27. vec4 curColor = texture(TEXTURE,UV);
  28. float cColor = 0.1;
  29. vec3 oldTex;
  30. vec3 tex;
  31. for (int i = 0; i < 999999; i++){
  32. if (i>= nColor){
  33. break;
  34. }
  35. oldTex = texture(palette,vec2(col(float(nColor),cColor),0.0)).rgb;
  36. tex = texture(palette,vec2(col(float(nColor),cColor),pal(float(nPal),float(cPal)))).rgb;
  37. float swap = float((int(curColor.r == oldTex.r) + int(curColor.b == oldTex.b) + int(curColor.g == oldTex.g))==3);
  38. curColor.r = mix(curColor.r,tex.r,swap);
  39. curColor.b = mix(curColor.b,tex.b,swap);
  40. curColor.g = mix(curColor.g,tex.g,swap);
  41. cColor += 1.0;
  42. }
  43. COLOR = curColor;
  44. if (sfFx){
  45. if (COLOR.a>0.0){
  46. COLOR.a = floor(mod(((UV.y/size))*float(sizeMaxH),clamp(spacing,2.0,4.0)));
  47. }
  48. }
  49. }"
  50.  
  51. [resource]
  52. shader = SubResource( 1 )
  53. shader_param/cPal = 1
  54. shader_param/nColor = 7
  55. shader_param/nPal = 4
  56. shader_param/sfFx = false
  57. shader_param/sizeMaxH = null
  58. shader_param/frame = 0
  59. shader_param/spacing = 1.0
  60. shader_param/size = 1.0
  61. shader_param/palette = ExtResource( 1 )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement