first
This commit is contained in:
commit
b97b3a9ae4
79 changed files with 1729 additions and 0 deletions
26
exo1/shaders/exo1_tableaux/1uv_painting_example.gdshader
Normal file
26
exo1/shaders/exo1_tableaux/1uv_painting_example.gdshader
Normal file
|
@ -0,0 +1,26 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
// Un peu de lecture au debut, mais c'est important !
|
||||
// J'ai fait au plus court pour vous bande de tiktok kids
|
||||
// Mais c'est important et y'a que ca a lire
|
||||
|
||||
void fragment() {
|
||||
|
||||
// La fonction fragment() est appele pour chaque pixel du tableau a chaque frame
|
||||
// Donc ici environ 28980 fois chaque frame, mais le GPU gere sans soucis !
|
||||
// En input hidden, on a une variable global UV
|
||||
// UV est un vecteur (x, y) avec x et y entre 0 et 1
|
||||
// UV represente la position normalized du pixel
|
||||
// (0, 0) c'est en haut a gauche et (1, 1) en bas a droite
|
||||
|
||||
COLOR.rgb = vec3(UV, 0);
|
||||
|
||||
// COLOR est une variable global, c'est un input et un output
|
||||
// C'est la color du pixel qu'on traite
|
||||
// Ici on dit que la couleur : red = UV.x et green = UV.y et blue a 0
|
||||
// Et on voit que en haut a gauche c'est noir, et en bas a droite c'est jaune (red + green)
|
||||
|
||||
// TODO
|
||||
// Fait des petites modifs de la seule ligne de ce programme pour voir ce que ca fait
|
||||
// Mettre blue a 1 ou faire des modifs sur UV etc... testez des trucs !
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
uid://bqkbm7kxjbvbl
|
9
exo1/shaders/exo1_tableaux/2diagonale.gdshader
Normal file
9
exo1/shaders/exo1_tableaux/2diagonale.gdshader
Normal file
|
@ -0,0 +1,9 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
// Called for every pixel the material is visible on.
|
||||
// Deux trucs a utiliser : UV et COLOR
|
||||
// N'hesite pas a poser des questions (sur la syntaxe de glsl par exemple)
|
||||
|
||||
COLOR.rgb = vec3(0, 1, 0);
|
||||
}
|
1
exo1/shaders/exo1_tableaux/2diagonale.gdshader.uid
Normal file
1
exo1/shaders/exo1_tableaux/2diagonale.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://u4ti6qojfd6n
|
12
exo1/shaders/exo1_tableaux/3circle.gdshader
Normal file
12
exo1/shaders/exo1_tableaux/3circle.gdshader
Normal file
|
@ -0,0 +1,12 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
|
||||
void fragment() {
|
||||
// La fonction length renvoie la longeur d'un vec2, vec3 ou vec4
|
||||
// la syntaxe c'est length(ton vecteur)
|
||||
// ca donne plus une eclipse qu'un cercle
|
||||
// Pour avoir un cercle faudrait normaliser avec TEXTURE_PIXEL_SIZE
|
||||
// (qui donne la taille WIDTH et HEIGHT de notre canvas)
|
||||
COLOR.rgb = vec3(0, 1, 1);
|
||||
}
|
||||
|
1
exo1/shaders/exo1_tableaux/3circle.gdshader.uid
Normal file
1
exo1/shaders/exo1_tableaux/3circle.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://tueskvsn60l0
|
10
exo1/shaders/exo1_tableaux/4uv_time.gdshader
Normal file
10
exo1/shaders/exo1_tableaux/4uv_time.gdshader
Normal file
|
@ -0,0 +1,10 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
// TIME est une variable globale qui contient le temps depuis lequel godot tourne
|
||||
// sin, cos etc... sont super utilise avec TIME
|
||||
// car ca permet d'avoir des trucs periodiques
|
||||
COLOR.rgb = vec3(sin(UV.x + TIME), cos(UV.y + 2.0*TIME), sin(UV.x + UV.y + 3.0*TIME));
|
||||
// parfois sin et cos peuvent valoir moins de 0
|
||||
// Mais c'est pas grave c'
|
||||
}
|
1
exo1/shaders/exo1_tableaux/4uv_time.gdshader.uid
Normal file
1
exo1/shaders/exo1_tableaux/4uv_time.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://uusggwbep2j4
|
5
exo1/shaders/exo1_tableaux/5circle_time.gdshader
Normal file
5
exo1/shaders/exo1_tableaux/5circle_time.gdshader
Normal file
|
@ -0,0 +1,5 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
// Bon vous avez tout les outils en main, testez des trucs
|
||||
}
|
1
exo1/shaders/exo1_tableaux/5circle_time.gdshader.uid
Normal file
1
exo1/shaders/exo1_tableaux/5circle_time.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://clc4aqodbhhv5
|
Loading…
Add table
Add a link
Reference in a new issue