This commit is contained in:
Crizomb 2025-05-15 14:28:08 +02:00
commit b97b3a9ae4
79 changed files with 1729 additions and 0 deletions

View file

@ -0,0 +1,22 @@
shader_type canvas_item;
// Uniform c'est comme les exports en gdscripts. Pour y avoir acces et les changer :
// Va dans l'inspecteur de Exo2/Shaders/1_SimpleNoiseTex (dans ta scene)
// Va dans la partie CanvasItem
// Clique sur Material (de canvasItem fais attention)
// Clique sur l'onglet Shader Parameters
uniform float speed;
uniform sampler2D noise_tex : repeat_enable;
void fragment() {
vec2 new_uv = UV + speed * TIME * vec2(1, 1);
COLOR.a = texture(noise_tex, new_uv).r;
// Color.a c'est l'alpha. alpha de 0 : l'objet est transparent. alpha de 1 l'objet est visible
// .r car la texture renvoie une couleur, et on veut juste un float
}
// Change un peu les parametres, voir ce que ca fait.
// TODO :
// Change la couleur, je veux du bleu pas du blanc.
// Dans Noise Tex, change le Noise Type.
// Je pense Cellular donne un bon truc

View file

@ -0,0 +1 @@
uid://bxh7ct2ofg1xy

View file

@ -0,0 +1,34 @@
shader_type canvas_item;
render_mode blend_disabled;
// On definit un uniform, donc quelque chose que le shader a en input
// ici hint_screen_texture signifie qu'on recupere la texture de l'ecran
// repeat_disable qu'on souhaite pas que la texture soit infinie et se repete
// filter_nearest qu'on veut pas d'interpolation bizzare
uniform sampler2D screen_tex : hint_screen_texture, repeat_disable, filter_nearest;
uniform vec3 new_green_color : source_color;
void fragment() {
// Called for every pixel the material is visible on.
vec3 screen_color = texture(screen_tex, SCREEN_UV).rgb;
// Le produit scalaire (dot) est tres utile pour avoir une sorte de distance entre deux vecteurs
// On veut savoir si le pixel derriere est vert,
// donc on compare ca au vecteur vert rgb normalize (vec3(0, 1, 0))
bool is_green = dot(normalize(screen_color), vec3(0, 1, 0)) > 0.69;
if (is_green){
// Moyenne ponderee, pour eviter d'avoir que du rouge (trop flat)
COLOR.rgb = (3.0*new_green_color + screen_color)/4.0;
}
else{
COLOR.rgb = screen_color;
}
// TODO
// Ajoute du bruit, je veux que les feuilles aient du bruit
// Ajoute une sorte de cadre, je veux bien voir les bordures de l'effet
}
//void light() {
// // Called for every pixel for every light affecting the CanvasItem.
// // Uncomment to replace the default light processing function with this one.
//}

View file

@ -0,0 +1 @@
uid://pie6shk758tp

View file

@ -0,0 +1,14 @@
shader_type canvas_item;
void vertex() {
VERTEX.y = sin(TIME);
}
void fragment() {
// Called for every pixel the material is visible on.
}
//void light() {
// // Called for every pixel for every light affecting the CanvasItem.
// // Uncomment to replace the default light processing function with this one.
//}

View file

@ -0,0 +1 @@
uid://djppqek35tujs

Binary file not shown.