commit b97b3a9ae4c0e2406c649cafc5cd65131f93bd6a Author: Crizomb Date: Thu May 15 14:28:08 2025 +0200 first diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f28239b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*] +charset = utf-8 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0af181c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +/android/ diff --git a/exo1/assets/GroundTile.aseprite b/exo1/assets/GroundTile.aseprite new file mode 100644 index 0000000..9a2b9bb Binary files /dev/null and b/exo1/assets/GroundTile.aseprite differ diff --git a/exo1/assets/GroundTile.png b/exo1/assets/GroundTile.png new file mode 100644 index 0000000..907ff6f Binary files /dev/null and b/exo1/assets/GroundTile.png differ diff --git a/exo1/assets/GroundTile.png.import b/exo1/assets/GroundTile.png.import new file mode 100644 index 0000000..42d0917 --- /dev/null +++ b/exo1/assets/GroundTile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2ln6in2cciqc" +path="res://.godot/imported/GroundTile.png-28d192c8897351185d26f52b7bd4107a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo1/assets/GroundTile.png" +dest_files=["res://.godot/imported/GroundTile.png-28d192c8897351185d26f52b7bd4107a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo1/assets/logo-CELL.png b/exo1/assets/logo-CELL.png new file mode 100644 index 0000000..4664213 Binary files /dev/null and b/exo1/assets/logo-CELL.png differ diff --git a/exo1/assets/logo-CELL.png.import b/exo1/assets/logo-CELL.png.import new file mode 100644 index 0000000..77bd089 --- /dev/null +++ b/exo1/assets/logo-CELL.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4g6qnykfjdba" +path="res://.godot/imported/logo-CELL.png-32c131f8ba4da21dff7740152eee3471.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo1/assets/logo-CELL.png" +dest_files=["res://.godot/imported/logo-CELL.png-32c131f8ba4da21dff7740152eee3471.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo1/assets/painting_frame.aseprite b/exo1/assets/painting_frame.aseprite new file mode 100644 index 0000000..f9a0668 Binary files /dev/null and b/exo1/assets/painting_frame.aseprite differ diff --git a/exo1/assets/painting_frame.png b/exo1/assets/painting_frame.png new file mode 100644 index 0000000..3159cf9 Binary files /dev/null and b/exo1/assets/painting_frame.png differ diff --git a/exo1/assets/painting_frame.png.import b/exo1/assets/painting_frame.png.import new file mode 100644 index 0000000..518a956 --- /dev/null +++ b/exo1/assets/painting_frame.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0isklem0n1d1" +path="res://.godot/imported/painting_frame.png-b4161477b82cf188b2b3891943bf817a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo1/assets/painting_frame.png" +dest_files=["res://.godot/imported/painting_frame.png-b4161477b82cf188b2b3891943bf817a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo1/cam_follow.gd b/exo1/cam_follow.gd new file mode 100644 index 0000000..f4677f9 --- /dev/null +++ b/exo1/cam_follow.gd @@ -0,0 +1,18 @@ +extends Camera2D + +@export var lana : Lana +@export var lerp_speed := 10 + +var target_pos : Vector2 + +func _ready() -> void: + target_pos = lana.position + +func _process(delta: float) -> void: + #var screen_center : Vector2 = get_screen_center_position() + var diff := lana.position.x - target_pos.x + var screen_size := get_viewport_rect().size.x + if abs(diff) > screen_size / 2: + target_pos.x += screen_size * sign(diff) + + position.x = lerp(position.x, target_pos.x, lerp_speed*delta) diff --git a/exo1/cam_follow.gd.uid b/exo1/cam_follow.gd.uid new file mode 100644 index 0000000..1faa6f9 --- /dev/null +++ b/exo1/cam_follow.gd.uid @@ -0,0 +1 @@ +uid://dtwr10xf504og diff --git a/exo1/exo1.tscn b/exo1/exo1.tscn new file mode 100644 index 0000000..c4a7edc --- /dev/null +++ b/exo1/exo1.tscn @@ -0,0 +1,515 @@ +[gd_scene load_steps=40 format=3 uid="uid://pvjist0vg8ah"] + +[ext_resource type="Shader" uid="uid://dvegch8bn85w4" path="res://exo1/shaders/pastouche/ground.gdshader" id="1_nj86p"] +[ext_resource type="Texture2D" uid="uid://d2ln6in2cciqc" path="res://exo1/assets/GroundTile.png" id="2_1460h"] +[ext_resource type="Script" uid="uid://dtwr10xf504og" path="res://exo1/cam_follow.gd" id="3_dd5tk"] +[ext_resource type="PackedScene" uid="uid://hb5qh45e6x1s" path="res://pas_touche/inter_exo/lana.tscn" id="4_j5uwi"] +[ext_resource type="Texture2D" uid="uid://b0isklem0n1d1" path="res://exo1/assets/painting_frame.png" id="6_mi18a"] +[ext_resource type="Shader" uid="uid://bqkbm7kxjbvbl" path="res://exo1/shaders/exo1_tableaux/1uv_painting_example.gdshader" id="7_q8ng3"] +[ext_resource type="Shader" uid="uid://u4ti6qojfd6n" path="res://exo1/shaders/exo1_tableaux/2diagonale.gdshader" id="8_mk50y"] +[ext_resource type="Texture2D" uid="uid://bbqjjcli4roq5" path="res://exo1/screenshot_goal/Soluce_Diagonale.png" id="9_0dfpm"] +[ext_resource type="Shader" uid="uid://tueskvsn60l0" path="res://exo1/shaders/exo1_tableaux/3circle.gdshader" id="10_56yv0"] +[ext_resource type="Texture2D" uid="uid://d8mtqjjcrh7m" path="res://exo1/screenshot_goal/circle.png" id="11_5c586"] +[ext_resource type="Shader" uid="uid://uusggwbep2j4" path="res://exo1/shaders/exo1_tableaux/4uv_time.gdshader" id="12_1swba"] +[ext_resource type="Shader" uid="uid://clc4aqodbhhv5" path="res://exo1/shaders/exo1_tableaux/5circle_time.gdshader" id="13_ven0y"] +[ext_resource type="Shader" uid="uid://03ee6p7b6pnn" path="res://exo1/shaders/exo1_zexemples_jolies/plasma.gdshader" id="14_hyh6e"] +[ext_resource type="Shader" uid="uid://d0n6gjxkt6okq" path="res://exo1/shaders/exo1_zexemples_jolies/mandelbrot.gdshader" id="15_5klk2"] +[ext_resource type="Shader" uid="uid://sl1g7w1jmk6x" path="res://exo1/shaders/exo1_zexemples_jolies/zolie_user.gdshader" id="16_mpwm1"] +[ext_resource type="Shader" uid="uid://bjw6mgbjij8fc" path="res://exo1/shaders/exo1_zexemples_jolies/zolie_user2.gdshader" id="17_kjdq4"] + +[sub_resource type="Gradient" id="Gradient_fqaua"] +interpolation_mode = 2 +colors = PackedColorArray(0.650128, 0.650128, 0.650128, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_c3ei3"] +gradient = SubResource("Gradient_fqaua") +height = 1024 +fill_from = Vector2(1, 1) +repeat = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_disjo"] +shader = ExtResource("1_nj86p") +shader_parameter/skew_amount = 0.25 + +[sub_resource type="Gradient" id="Gradient_c3ei3"] +interpolation_mode = 2 +colors = PackedColorArray(0.650128, 0.650128, 0.650128, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_u32k3"] +gradient = SubResource("Gradient_c3ei3") +height = 1024 +fill_from = Vector2(1, 1) +repeat = 1 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_v6q5x"] +size = Vector2(4342, 20) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_disjo"] +size = Vector2(128, 392.919) + +[sub_resource type="LabelSettings" id="LabelSettings_ipmo5"] +font_size = 32 +font_color = Color(0.10748, 0.10748, 0.10748, 1) + +[sub_resource type="LabelSettings" id="LabelSettings_y65yk"] +font_color = Color(0.10748, 0.10748, 0.10748, 1) + +[sub_resource type="LabelSettings" id="LabelSettings_u32k3"] +font_color = Color(0.10748, 0.10748, 0.10748, 1) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_l1x0l"] +shader = ExtResource("7_q8ng3") + +[sub_resource type="Gradient" id="Gradient_u32k3"] +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_l1x0l"] +gradient = SubResource("Gradient_u32k3") +width = 180 +height = 116 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_u32k3"] +shader = ExtResource("8_mk50y") + +[sub_resource type="Gradient" id="Gradient_l1x0l"] +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_m5f4m"] +gradient = SubResource("Gradient_l1x0l") +width = 180 +height = 116 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_y65yk"] +shader = ExtResource("10_56yv0") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_yru7n"] +shader = ExtResource("12_1swba") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_nqvhh"] +shader = ExtResource("13_ven0y") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_2n602"] +shader = ExtResource("14_hyh6e") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_xyfjg"] +shader = ExtResource("15_5klk2") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_pj7t7"] +shader = ExtResource("16_mpwm1") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_swa6w"] +shader = ExtResource("17_kjdq4") + +[node name="Exo1" type="Node2D"] + +[node name="PasTouche" type="Node2D" parent="."] + +[node name="WallBG" type="Node2D" parent="PasTouche"] +position = Vector2(-19, -361) + +[node name="Sprite2D" type="Sprite2D" parent="PasTouche/WallBG"] +texture = SubResource("GradientTexture2D_c3ei3") +region_enabled = true +region_rect = Rect2(0, 0, 10240, 1024) + +[node name="Ground" type="Sprite2D" parent="PasTouche"] +texture_filter = 1 +texture_repeat = 3 +material = SubResource("ShaderMaterial_disjo") +position = Vector2(0, 160) +texture = ExtResource("2_1460h") +region_enabled = true +region_rect = Rect2(0, 0, 8192, 320) + +[node name="LeftWall" type="Sprite2D" parent="PasTouche"] +position = Vector2(-2591, 171) +rotation = -0.234771 +texture = SubResource("GradientTexture2D_u32k3") +region_enabled = true +region_rect = Rect2(0, 0, 1024, 2024) + +[node name="LeftWall2" type="Sprite2D" parent="PasTouche"] +position = Vector2(2562, -15.9999) +rotation = -0.234771 +texture = SubResource("GradientTexture2D_u32k3") +region_enabled = true +region_rect = Rect2(0, 0, 1024, 2024) + +[node name="GlobalCollider" type="StaticBody2D" parent="PasTouche"] + +[node name="Top" type="CollisionShape2D" parent="PasTouche/GlobalCollider"] +position = Vector2(0, -11) +shape = SubResource("RectangleShape2D_v6q5x") + +[node name="Bottom" type="CollisionShape2D" parent="PasTouche/GlobalCollider"] +position = Vector2(0, 324) +shape = SubResource("RectangleShape2D_v6q5x") + +[node name="Right" type="CollisionShape2D" parent="PasTouche/GlobalCollider"] +position = Vector2(-2140.2, 130.01) +rotation = -0.240294 +shape = SubResource("RectangleShape2D_disjo") + +[node name="Left" type="CollisionShape2D" parent="PasTouche/GlobalCollider"] +position = Vector2(2135, 139) +rotation = -0.217829 +shape = SubResource("RectangleShape2D_disjo") + +[node name="CamExo1" type="Camera2D" parent="PasTouche" node_paths=PackedStringArray("lana")] +position = Vector2(0, -192) +script = ExtResource("3_dd5tk") +lana = NodePath("../Lana") +lerp_speed = null + +[node name="Lana" parent="PasTouche" instance=ExtResource("4_j5uwi")] +position = Vector2(-1670, 126) + +[node name="Tableaux" type="Node2D" parent="."] +position = Vector2(-1500, -190) + +[node name="Labels" type="Node2D" parent="Tableaux"] + +[node name="Label" type="Label" parent="Tableaux/Labels"] +offset_left = -645.0 +offset_top = -305.0 +offset_right = -259.0 +offset_bottom = -256.0 +text = "EXERCICE 1" +label_settings = SubResource("LabelSettings_ipmo5") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/Labels/Label"] +layout_mode = 0 +offset_left = 65.0 +offset_top = 54.0 +offset_right = 451.0 +offset_bottom = 207.0 +text = "On va faire des beaux tableaux +et voir la fonction fragment des +shaders, pour faire cette exo +il suffit juste de modifier les +shaders qui sont dans +exo1/shaders/exo1_tableaux" +label_settings = SubResource("LabelSettings_y65yk") + +[node name="Label2" type="Label" parent="Tableaux/Labels"] +offset_left = 462.0 +offset_top = -305.0 +offset_right = 848.0 +offset_bottom = -256.0 +label_settings = SubResource("LabelSettings_ipmo5") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/Labels/Label2"] +layout_mode = 0 +offset_left = 23.0 +offset_top = 26.0 +offset_right = 363.0 +offset_bottom = 179.0 +text = "Bon c'est cool COLOR et UV +Mais ca bouge pas trop... +Autant faire du dessin, c'est bof les shaders. +ET BIEN NON +Il existe aussi TIME +qui permet de faire +des trucs rigolos" +label_settings = SubResource("LabelSettings_y65yk") + +[node name="Label3" type="Label" parent="Tableaux/Labels"] +offset_left = 1123.0 +offset_top = -282.0 +offset_right = 1509.0 +offset_bottom = -233.0 +text = "Vous avez fini l'exo 1" +label_settings = SubResource("LabelSettings_ipmo5") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/Labels/Label3"] +layout_mode = 0 +offset_left = 40.0 +offset_top = 54.0 +offset_right = 426.0 +offset_bottom = 207.0 +text = "Bien joue !! +Vous etes des vrais artistes!! +J'ai mis quelques exemples de tableaux que +vous pouvez faire avec un peu plus de temps" +label_settings = SubResource("LabelSettings_y65yk") + +[node name="Label4" type="Label" parent="Tableaux/Labels"] +offset_left = 2043.0 +offset_top = -294.0 +offset_right = 2429.0 +offset_bottom = -245.0 +text = "Vers l'exo 2" +label_settings = SubResource("LabelSettings_ipmo5") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/Labels/Label4"] +layout_mode = 0 +offset_left = 40.0 +offset_top = 54.0 +offset_right = 426.0 +offset_bottom = 207.0 +text = "Bon c'est bien sympa de faire des +beaux tableaux mais c'est pas l'utilisation +principale des shaders dans les jeux. +Dans l'exo 2 on va voir des exemples +de trucs plus utiles +(cascade, effets sous l'eau etc...)" +label_settings = SubResource("LabelSettings_y65yk") + +[node name="UVFrame" type="Sprite2D" parent="Tableaux"] +position = Vector2(-229, 59) +texture = ExtResource("6_mi18a") + +[node name="Label" type="Label" parent="Tableaux/UVFrame"] +offset_left = -192.0 +offset_top = -93.0 +offset_right = 194.0 +offset_bottom = -44.0 +text = "1) Exemple UV" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/UVFrame"] +offset_left = -192.0 +offset_top = 64.0 +offset_right = 194.0 +offset_bottom = 113.0 +text = "1uv_painting_example.gdshader" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="UVPainting" type="Sprite2D" parent="Tableaux/UVFrame"] +material = SubResource("ShaderMaterial_l1x0l") +texture = SubResource("GradientTexture2D_l1x0l") + +[node name="DiagonaleFrame" type="Sprite2D" parent="Tableaux"] +position = Vector2(48, -35) +texture = ExtResource("6_mi18a") + +[node name="Label" type="Label" parent="Tableaux/DiagonaleFrame"] +offset_left = -248.0 +offset_top = -118.0 +offset_right = 264.0 +offset_bottom = -17.0 +text = "2) Diagonale +Essaye de decouper le tableau (comme en haut) +" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/DiagonaleFrame"] +offset_left = -248.0 +offset_top = 68.0 +offset_right = 264.0 +offset_bottom = 169.0 +text = "2diagonale.gdshader +" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="LinePainting" type="Sprite2D" parent="Tableaux/DiagonaleFrame"] +material = SubResource("ShaderMaterial_u32k3") +texture = SubResource("GradientTexture2D_m5f4m") + +[node name="ScreenshotGoal" type="Sprite2D" parent="Tableaux/DiagonaleFrame"] +position = Vector2(-2, -191) +texture = ExtResource("9_0dfpm") + +[node name="CircleFrame" type="Sprite2D" parent="Tableaux"] +position = Vector2(348, 31) +texture = ExtResource("6_mi18a") + +[node name="Label" type="Label" parent="Tableaux/CircleFrame"] +offset_left = -253.0 +offset_top = -118.0 +offset_right = 259.0 +offset_bottom = -17.0 +text = "3) Cercle +Fais un cercle (comme en haut)" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/CircleFrame"] +offset_left = -253.0 +offset_top = 69.0 +offset_right = 259.0 +offset_bottom = 170.0 +text = "3circle.gdshader +" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="CirclePainting" type="Sprite2D" parent="Tableaux/CircleFrame"] +material = SubResource("ShaderMaterial_y65yk") +texture = SubResource("GradientTexture2D_m5f4m") + +[node name="Circle" type="Sprite2D" parent="Tableaux/CircleFrame"] +position = Vector2(3, -193) +scale = Vector2(0.42, 0.42) +texture = ExtResource("11_5c586") + +[node name="UVFrameTime" type="Sprite2D" parent="Tableaux"] +position = Vector2(691, 36) +texture = ExtResource("6_mi18a") + +[node name="Label" type="Label" parent="Tableaux/UVFrameTime"] +offset_left = -192.0 +offset_top = -93.0 +offset_right = 194.0 +offset_bottom = -44.0 +text = "4) Exemple UV TIME" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/UVFrameTime"] +offset_left = -192.0 +offset_top = 64.0 +offset_right = 194.0 +offset_bottom = 113.0 +text = "4uv_time" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="UVPainting" type="Sprite2D" parent="Tableaux/UVFrameTime"] +material = SubResource("ShaderMaterial_yru7n") +texture = SubResource("GradientTexture2D_l1x0l") + +[node name="CircleFrameTime" type="Sprite2D" parent="Tableaux"] +position = Vector2(933, -28) +texture = ExtResource("6_mi18a") + +[node name="Label" type="Label" parent="Tableaux/CircleFrameTime"] +offset_left = -253.0 +offset_top = -139.0 +offset_right = 259.0 +offset_bottom = -38.0 +text = "5) Faites des cercles concentriques +qui bougent" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/CircleFrameTime"] +offset_left = -253.0 +offset_top = 69.0 +offset_right = 259.0 +offset_bottom = 170.0 +text = "3circle.gdshader +" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="CirclePainting" type="Sprite2D" parent="Tableaux/CircleFrameTime"] +material = SubResource("ShaderMaterial_nqvhh") +texture = SubResource("GradientTexture2D_m5f4m") + +[node name="PlasmaFrame" type="Sprite2D" parent="Tableaux"] +position = Vector2(1274, 63) +texture = ExtResource("6_mi18a") + +[node name="Label" type="Label" parent="Tableaux/PlasmaFrame"] +offset_left = -253.0 +offset_top = -95.0 +offset_right = 259.0 +offset_bottom = 6.0 +text = "plasma" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/PlasmaFrame"] +offset_left = -253.0 +offset_top = 69.0 +offset_right = 259.0 +offset_bottom = 170.0 +text = "zexemples_jolies +" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="PlasmaPainting" type="Sprite2D" parent="Tableaux/PlasmaFrame"] +material = SubResource("ShaderMaterial_2n602") +texture = SubResource("GradientTexture2D_m5f4m") + +[node name="MandelbrotFrame" type="Sprite2D" parent="Tableaux"] +position = Vector2(1557, -3) +texture = ExtResource("6_mi18a") + +[node name="Label" type="Label" parent="Tableaux/MandelbrotFrame"] +offset_left = -253.0 +offset_top = -95.0 +offset_right = 259.0 +offset_bottom = 6.0 +text = "mandelbrot zoom" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/MandelbrotFrame"] +offset_left = -253.0 +offset_top = 69.0 +offset_right = 259.0 +offset_bottom = 170.0 +text = "zexemples_jolies +" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="MandelBrot" type="Sprite2D" parent="Tableaux/MandelbrotFrame"] +material = SubResource("ShaderMaterial_xyfjg") +texture = SubResource("GradientTexture2D_m5f4m") + +[node name="ZolieUserFrame1" type="Sprite2D" parent="Tableaux"] +position = Vector2(1796, -225) +texture = ExtResource("6_mi18a") + +[node name="Label" type="Label" parent="Tableaux/ZolieUserFrame1"] +offset_left = -253.0 +offset_top = -95.0 +offset_right = 259.0 +offset_bottom = 6.0 +text = "Tu peux faire un truc joli ici stv" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/ZolieUserFrame1"] +offset_left = -253.0 +offset_top = 69.0 +offset_right = 259.0 +offset_bottom = 170.0 +text = "zexemples_jolies/zolie_user1 +" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="ZolieUser1" type="Sprite2D" parent="Tableaux/ZolieUserFrame1"] +material = SubResource("ShaderMaterial_pj7t7") +texture = SubResource("GradientTexture2D_m5f4m") + +[node name="ZolieUserFrame2" type="Sprite2D" parent="Tableaux"] +position = Vector2(1869, 5) +texture = ExtResource("6_mi18a") + +[node name="Label" type="Label" parent="Tableaux/ZolieUserFrame2"] +offset_left = -253.0 +offset_top = -95.0 +offset_right = 259.0 +offset_bottom = 6.0 +text = "Autre truc zolie de ta part" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="Label2" type="Label" parent="Tableaux/ZolieUserFrame2"] +offset_left = -250.0 +offset_top = 70.0 +offset_right = 262.0 +offset_bottom = 171.0 +text = "zexemples_jolies/zolie_user2 + +" +label_settings = SubResource("LabelSettings_u32k3") +horizontal_alignment = 1 + +[node name="ZolieUser2" type="Sprite2D" parent="Tableaux/ZolieUserFrame2"] +material = SubResource("ShaderMaterial_swa6w") +texture = SubResource("GradientTexture2D_m5f4m") diff --git a/exo1/screenshot_goal/Soluce_Diagonale.png b/exo1/screenshot_goal/Soluce_Diagonale.png new file mode 100644 index 0000000..f8e3390 Binary files /dev/null and b/exo1/screenshot_goal/Soluce_Diagonale.png differ diff --git a/exo1/screenshot_goal/Soluce_Diagonale.png.import b/exo1/screenshot_goal/Soluce_Diagonale.png.import new file mode 100644 index 0000000..c9d10d8 --- /dev/null +++ b/exo1/screenshot_goal/Soluce_Diagonale.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbqjjcli4roq5" +path="res://.godot/imported/Soluce_Diagonale.png-1a2fe9e3786537188d4d6ee9f643529c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo1/screenshot_goal/Soluce_Diagonale.png" +dest_files=["res://.godot/imported/Soluce_Diagonale.png-1a2fe9e3786537188d4d6ee9f643529c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo1/screenshot_goal/circle.png b/exo1/screenshot_goal/circle.png new file mode 100644 index 0000000..a60114a Binary files /dev/null and b/exo1/screenshot_goal/circle.png differ diff --git a/exo1/screenshot_goal/circle.png.import b/exo1/screenshot_goal/circle.png.import new file mode 100644 index 0000000..364ab54 --- /dev/null +++ b/exo1/screenshot_goal/circle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d8mtqjjcrh7m" +path="res://.godot/imported/circle.png-9e02411ed0fb90fc5237e61e24f1ec8f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo1/screenshot_goal/circle.png" +dest_files=["res://.godot/imported/circle.png-9e02411ed0fb90fc5237e61e24f1ec8f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo1/shaders/exo1_tableaux/1uv_painting_example.gdshader b/exo1/shaders/exo1_tableaux/1uv_painting_example.gdshader new file mode 100644 index 0000000..3d978e3 --- /dev/null +++ b/exo1/shaders/exo1_tableaux/1uv_painting_example.gdshader @@ -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 ! +} diff --git a/exo1/shaders/exo1_tableaux/1uv_painting_example.gdshader.uid b/exo1/shaders/exo1_tableaux/1uv_painting_example.gdshader.uid new file mode 100644 index 0000000..061b694 --- /dev/null +++ b/exo1/shaders/exo1_tableaux/1uv_painting_example.gdshader.uid @@ -0,0 +1 @@ +uid://bqkbm7kxjbvbl diff --git a/exo1/shaders/exo1_tableaux/2diagonale.gdshader b/exo1/shaders/exo1_tableaux/2diagonale.gdshader new file mode 100644 index 0000000..bf75086 --- /dev/null +++ b/exo1/shaders/exo1_tableaux/2diagonale.gdshader @@ -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); +} diff --git a/exo1/shaders/exo1_tableaux/2diagonale.gdshader.uid b/exo1/shaders/exo1_tableaux/2diagonale.gdshader.uid new file mode 100644 index 0000000..de2eb38 --- /dev/null +++ b/exo1/shaders/exo1_tableaux/2diagonale.gdshader.uid @@ -0,0 +1 @@ +uid://u4ti6qojfd6n diff --git a/exo1/shaders/exo1_tableaux/3circle.gdshader b/exo1/shaders/exo1_tableaux/3circle.gdshader new file mode 100644 index 0000000..5e6d69f --- /dev/null +++ b/exo1/shaders/exo1_tableaux/3circle.gdshader @@ -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); +} + diff --git a/exo1/shaders/exo1_tableaux/3circle.gdshader.uid b/exo1/shaders/exo1_tableaux/3circle.gdshader.uid new file mode 100644 index 0000000..1d749da --- /dev/null +++ b/exo1/shaders/exo1_tableaux/3circle.gdshader.uid @@ -0,0 +1 @@ +uid://tueskvsn60l0 diff --git a/exo1/shaders/exo1_tableaux/4uv_time.gdshader b/exo1/shaders/exo1_tableaux/4uv_time.gdshader new file mode 100644 index 0000000..e5784a6 --- /dev/null +++ b/exo1/shaders/exo1_tableaux/4uv_time.gdshader @@ -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' +} diff --git a/exo1/shaders/exo1_tableaux/4uv_time.gdshader.uid b/exo1/shaders/exo1_tableaux/4uv_time.gdshader.uid new file mode 100644 index 0000000..58b92e0 --- /dev/null +++ b/exo1/shaders/exo1_tableaux/4uv_time.gdshader.uid @@ -0,0 +1 @@ +uid://uusggwbep2j4 diff --git a/exo1/shaders/exo1_tableaux/5circle_time.gdshader b/exo1/shaders/exo1_tableaux/5circle_time.gdshader new file mode 100644 index 0000000..308b7cb --- /dev/null +++ b/exo1/shaders/exo1_tableaux/5circle_time.gdshader @@ -0,0 +1,5 @@ +shader_type canvas_item; + +void fragment() { + // Bon vous avez tout les outils en main, testez des trucs +} diff --git a/exo1/shaders/exo1_tableaux/5circle_time.gdshader.uid b/exo1/shaders/exo1_tableaux/5circle_time.gdshader.uid new file mode 100644 index 0000000..8388e88 --- /dev/null +++ b/exo1/shaders/exo1_tableaux/5circle_time.gdshader.uid @@ -0,0 +1 @@ +uid://clc4aqodbhhv5 diff --git a/exo1/shaders/exo1_zexemples_jolies/mandelbrot.gdshader b/exo1/shaders/exo1_zexemples_jolies/mandelbrot.gdshader new file mode 100644 index 0000000..be3e305 --- /dev/null +++ b/exo1/shaders/exo1_zexemples_jolies/mandelbrot.gdshader @@ -0,0 +1,33 @@ +shader_type canvas_item; + +const int max_itter = 256; + +const vec2 zoom_center = vec2(-0.74364388703, 0.13182590421); + +int get_mandelbrot_count(vec2 uv, float zoom_factor){ + vec2 scaled_uv = (uv - vec2(0.5)) * 4.0 * zoom_factor + zoom_center; + float c_re = scaled_uv.x; + float c_im = scaled_uv.y; + + float re = 0.0; + float im = 0.0; + + for (int i = 0; i < max_itter; i++){ + float t_re = re; + re = re*re - im*im + c_re; + im = 2.0*im*t_re + c_im; + if (re*re + im*im > 4.0){ + return i; + } + } + return 0; +} + + +void fragment() { + float smooth_sine = (sin(TIME) * 0.5 + 0.5); + float zoom_factor = mix(0.001, 1.0, smoothstep(0.0, 1.0, smooth_sine)); + int mandelbrot_count = get_mandelbrot_count(UV, zoom_factor); + float m_cn = float(mandelbrot_count) / float(max_itter); + COLOR.rgb = vec3(m_cn, m_cn*2.0, m_cn*3.0); +} diff --git a/exo1/shaders/exo1_zexemples_jolies/mandelbrot.gdshader.uid b/exo1/shaders/exo1_zexemples_jolies/mandelbrot.gdshader.uid new file mode 100644 index 0000000..c63e137 --- /dev/null +++ b/exo1/shaders/exo1_zexemples_jolies/mandelbrot.gdshader.uid @@ -0,0 +1 @@ +uid://d0n6gjxkt6okq diff --git a/exo1/shaders/exo1_zexemples_jolies/plasma.gdshader b/exo1/shaders/exo1_zexemples_jolies/plasma.gdshader new file mode 100644 index 0000000..81724b8 --- /dev/null +++ b/exo1/shaders/exo1_zexemples_jolies/plasma.gdshader @@ -0,0 +1,8 @@ +shader_type canvas_item; + +void fragment() { + vec2 uv = UV; + float v = sin(uv.x * 10.0 + TIME) + sin(uv.y * 10.0 + TIME) + sin((uv.x + uv.y) * 10.0 + TIME); + float c = (sin(v) + 1.0) / 2.0; + COLOR = vec4(vec3(c, c * 0.5, 1.0 - c), 1.0); +} diff --git a/exo1/shaders/exo1_zexemples_jolies/plasma.gdshader.uid b/exo1/shaders/exo1_zexemples_jolies/plasma.gdshader.uid new file mode 100644 index 0000000..d886ca5 --- /dev/null +++ b/exo1/shaders/exo1_zexemples_jolies/plasma.gdshader.uid @@ -0,0 +1 @@ +uid://03ee6p7b6pnn diff --git a/exo1/shaders/exo1_zexemples_jolies/zolie_user.gdshader b/exo1/shaders/exo1_zexemples_jolies/zolie_user.gdshader new file mode 100644 index 0000000..1cb6992 --- /dev/null +++ b/exo1/shaders/exo1_zexemples_jolies/zolie_user.gdshader @@ -0,0 +1,6 @@ +shader_type canvas_item; + +void fragment() { + // Called for every pixel the material is visible on. + COLOR.br = UV; +} diff --git a/exo1/shaders/exo1_zexemples_jolies/zolie_user.gdshader.uid b/exo1/shaders/exo1_zexemples_jolies/zolie_user.gdshader.uid new file mode 100644 index 0000000..c60a849 --- /dev/null +++ b/exo1/shaders/exo1_zexemples_jolies/zolie_user.gdshader.uid @@ -0,0 +1 @@ +uid://sl1g7w1jmk6x diff --git a/exo1/shaders/exo1_zexemples_jolies/zolie_user2.gdshader b/exo1/shaders/exo1_zexemples_jolies/zolie_user2.gdshader new file mode 100644 index 0000000..ea680dc --- /dev/null +++ b/exo1/shaders/exo1_zexemples_jolies/zolie_user2.gdshader @@ -0,0 +1,7 @@ +shader_type canvas_item; + +void fragment() { + // Called for every pixel the material is visible on. + COLOR.gr = UV; +} + diff --git a/exo1/shaders/exo1_zexemples_jolies/zolie_user2.gdshader.uid b/exo1/shaders/exo1_zexemples_jolies/zolie_user2.gdshader.uid new file mode 100644 index 0000000..effe34a --- /dev/null +++ b/exo1/shaders/exo1_zexemples_jolies/zolie_user2.gdshader.uid @@ -0,0 +1 @@ +uid://bjw6mgbjij8fc diff --git a/exo1/shaders/pastouche/ground.gdshader b/exo1/shaders/pastouche/ground.gdshader new file mode 100644 index 0000000..0282aeb --- /dev/null +++ b/exo1/shaders/pastouche/ground.gdshader @@ -0,0 +1,20 @@ +shader_type canvas_item; +// ET OUI, MEME LE SOL C'EST UN SHADER +// Petite shader juste pour faire un ptit effet de perspective tiled sur le sol +// J'avais la flemme de faire des belles textures lol +uniform float skew_amount = 0.5; + +void vertex() { + // Called for every vertex the material is visible on. +} + +void fragment() { + vec2 skewed_uv = UV; + skewed_uv.x += (1.0 - UV.y) * skew_amount; + COLOR = texture(TEXTURE, skewed_uv); +} + +//void light() { +// // Called for every pixel for every light affecting the CanvasItem. +// // Uncomment to replace the default light processing function with this one. +//} diff --git a/exo1/shaders/pastouche/ground.gdshader.uid b/exo1/shaders/pastouche/ground.gdshader.uid new file mode 100644 index 0000000..45a7e61 --- /dev/null +++ b/exo1/shaders/pastouche/ground.gdshader.uid @@ -0,0 +1 @@ +uid://dvegch8bn85w4 diff --git a/exo2/assets/Call for nominations 2025_26 at Universidad Politécnica de Cartagena (UPCT ) (Spain) (Erasmus Code_ E MURCIA04).msg b/exo2/assets/Call for nominations 2025_26 at Universidad Politécnica de Cartagena (UPCT ) (Spain) (Erasmus Code_ E MURCIA04).msg new file mode 100644 index 0000000..849c6b7 Binary files /dev/null and b/exo2/assets/Call for nominations 2025_26 at Universidad Politécnica de Cartagena (UPCT ) (Spain) (Erasmus Code_ E MURCIA04).msg differ diff --git a/exo2/assets/parallax backgound pack/_01_ground.png b/exo2/assets/parallax backgound pack/_01_ground.png new file mode 100644 index 0000000..1b4065c Binary files /dev/null and b/exo2/assets/parallax backgound pack/_01_ground.png differ diff --git a/exo2/assets/parallax backgound pack/_01_ground.png.import b/exo2/assets/parallax backgound pack/_01_ground.png.import new file mode 100644 index 0000000..9cc4ae7 --- /dev/null +++ b/exo2/assets/parallax backgound pack/_01_ground.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cyehiyi0vm78q" +path="res://.godot/imported/_01_ground.png-51ca074c8ff7b0c88d0409a096dd5812.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo2/assets/parallax backgound pack/_01_ground.png" +dest_files=["res://.godot/imported/_01_ground.png-51ca074c8ff7b0c88d0409a096dd5812.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo2/assets/parallax backgound pack/_02_trees and bushes.png b/exo2/assets/parallax backgound pack/_02_trees and bushes.png new file mode 100644 index 0000000..f3ef02b Binary files /dev/null and b/exo2/assets/parallax backgound pack/_02_trees and bushes.png differ diff --git a/exo2/assets/parallax backgound pack/_02_trees and bushes.png.import b/exo2/assets/parallax backgound pack/_02_trees and bushes.png.import new file mode 100644 index 0000000..1472e57 --- /dev/null +++ b/exo2/assets/parallax backgound pack/_02_trees and bushes.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1kw7agartg3r" +path="res://.godot/imported/_02_trees and bushes.png-231d9431694cd2e2ac97c3bed7c1dda1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo2/assets/parallax backgound pack/_02_trees and bushes.png" +dest_files=["res://.godot/imported/_02_trees and bushes.png-231d9431694cd2e2ac97c3bed7c1dda1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo2/assets/parallax backgound pack/_03_distant_trees.png b/exo2/assets/parallax backgound pack/_03_distant_trees.png new file mode 100644 index 0000000..b0b6a59 Binary files /dev/null and b/exo2/assets/parallax backgound pack/_03_distant_trees.png differ diff --git a/exo2/assets/parallax backgound pack/_03_distant_trees.png.import b/exo2/assets/parallax backgound pack/_03_distant_trees.png.import new file mode 100644 index 0000000..62d7a70 --- /dev/null +++ b/exo2/assets/parallax backgound pack/_03_distant_trees.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://shl14tvqugds" +path="res://.godot/imported/_03_distant_trees.png-e0a790a7292da24d040b6952d57004f7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo2/assets/parallax backgound pack/_03_distant_trees.png" +dest_files=["res://.godot/imported/_03_distant_trees.png-e0a790a7292da24d040b6952d57004f7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo2/assets/parallax backgound pack/_04_bushes.png b/exo2/assets/parallax backgound pack/_04_bushes.png new file mode 100644 index 0000000..ced19ce Binary files /dev/null and b/exo2/assets/parallax backgound pack/_04_bushes.png differ diff --git a/exo2/assets/parallax backgound pack/_04_bushes.png.import b/exo2/assets/parallax backgound pack/_04_bushes.png.import new file mode 100644 index 0000000..7689b0b --- /dev/null +++ b/exo2/assets/parallax backgound pack/_04_bushes.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhynvws72e4uf" +path="res://.godot/imported/_04_bushes.png-c3412ceb007dfafc9a8f3f2b89a95eee.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo2/assets/parallax backgound pack/_04_bushes.png" +dest_files=["res://.godot/imported/_04_bushes.png-c3412ceb007dfafc9a8f3f2b89a95eee.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo2/assets/parallax backgound pack/_05_hill1.png b/exo2/assets/parallax backgound pack/_05_hill1.png new file mode 100644 index 0000000..4935f3a Binary files /dev/null and b/exo2/assets/parallax backgound pack/_05_hill1.png differ diff --git a/exo2/assets/parallax backgound pack/_05_hill1.png.import b/exo2/assets/parallax backgound pack/_05_hill1.png.import new file mode 100644 index 0000000..bbf7a78 --- /dev/null +++ b/exo2/assets/parallax backgound pack/_05_hill1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fdwjphvawvbf" +path="res://.godot/imported/_05_hill1.png-d4281d31d5f789f1e6896b5e48f51057.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo2/assets/parallax backgound pack/_05_hill1.png" +dest_files=["res://.godot/imported/_05_hill1.png-d4281d31d5f789f1e6896b5e48f51057.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo2/assets/parallax backgound pack/_06_hill2.png b/exo2/assets/parallax backgound pack/_06_hill2.png new file mode 100644 index 0000000..6f9a688 Binary files /dev/null and b/exo2/assets/parallax backgound pack/_06_hill2.png differ diff --git a/exo2/assets/parallax backgound pack/_06_hill2.png.import b/exo2/assets/parallax backgound pack/_06_hill2.png.import new file mode 100644 index 0000000..f18fb78 --- /dev/null +++ b/exo2/assets/parallax backgound pack/_06_hill2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bo0pvl7nyi3wq" +path="res://.godot/imported/_06_hill2.png-90cbdcd735040b0d072257b3cbb296e9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo2/assets/parallax backgound pack/_06_hill2.png" +dest_files=["res://.godot/imported/_06_hill2.png-90cbdcd735040b0d072257b3cbb296e9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo2/assets/parallax backgound pack/_07_huge_clouds.png b/exo2/assets/parallax backgound pack/_07_huge_clouds.png new file mode 100644 index 0000000..717b4e5 Binary files /dev/null and b/exo2/assets/parallax backgound pack/_07_huge_clouds.png differ diff --git a/exo2/assets/parallax backgound pack/_07_huge_clouds.png.import b/exo2/assets/parallax backgound pack/_07_huge_clouds.png.import new file mode 100644 index 0000000..21b9c3f --- /dev/null +++ b/exo2/assets/parallax backgound pack/_07_huge_clouds.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgknjkq6ph582" +path="res://.godot/imported/_07_huge_clouds.png-7a122b5e9a510ed80f846df64b2ab80e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo2/assets/parallax backgound pack/_07_huge_clouds.png" +dest_files=["res://.godot/imported/_07_huge_clouds.png-7a122b5e9a510ed80f846df64b2ab80e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo2/assets/parallax backgound pack/_08_clouds.png b/exo2/assets/parallax backgound pack/_08_clouds.png new file mode 100644 index 0000000..848d536 Binary files /dev/null and b/exo2/assets/parallax backgound pack/_08_clouds.png differ diff --git a/exo2/assets/parallax backgound pack/_08_clouds.png.import b/exo2/assets/parallax backgound pack/_08_clouds.png.import new file mode 100644 index 0000000..dda1d28 --- /dev/null +++ b/exo2/assets/parallax backgound pack/_08_clouds.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://3ahqc2mhbmso" +path="res://.godot/imported/_08_clouds.png-9d1e53c3c789f33b541f0f1978023e08.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo2/assets/parallax backgound pack/_08_clouds.png" +dest_files=["res://.godot/imported/_08_clouds.png-9d1e53c3c789f33b541f0f1978023e08.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo2/assets/parallax backgound pack/_09_distant_clouds1.png b/exo2/assets/parallax backgound pack/_09_distant_clouds1.png new file mode 100644 index 0000000..ebaf887 Binary files /dev/null and b/exo2/assets/parallax backgound pack/_09_distant_clouds1.png differ diff --git a/exo2/assets/parallax backgound pack/_09_distant_clouds1.png.import b/exo2/assets/parallax backgound pack/_09_distant_clouds1.png.import new file mode 100644 index 0000000..85960a1 --- /dev/null +++ b/exo2/assets/parallax backgound pack/_09_distant_clouds1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1rdrrvq8cyd6" +path="res://.godot/imported/_09_distant_clouds1.png-07da5b6089e84a998acb6afc814f0be9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo2/assets/parallax backgound pack/_09_distant_clouds1.png" +dest_files=["res://.godot/imported/_09_distant_clouds1.png-07da5b6089e84a998acb6afc814f0be9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo2/assets/parallax backgound pack/_10_distant_clouds.png b/exo2/assets/parallax backgound pack/_10_distant_clouds.png new file mode 100644 index 0000000..c7ee1ad Binary files /dev/null and b/exo2/assets/parallax backgound pack/_10_distant_clouds.png differ diff --git a/exo2/assets/parallax backgound pack/_10_distant_clouds.png.import b/exo2/assets/parallax backgound pack/_10_distant_clouds.png.import new file mode 100644 index 0000000..a7c612f --- /dev/null +++ b/exo2/assets/parallax backgound pack/_10_distant_clouds.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cek2ji2ndkis5" +path="res://.godot/imported/_10_distant_clouds.png-8dda05a69a7d79cb406860d4fd0d6fa3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo2/assets/parallax backgound pack/_10_distant_clouds.png" +dest_files=["res://.godot/imported/_10_distant_clouds.png-8dda05a69a7d79cb406860d4fd0d6fa3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo2/assets/parallax backgound pack/_11_background.png b/exo2/assets/parallax backgound pack/_11_background.png new file mode 100644 index 0000000..e892cfc Binary files /dev/null and b/exo2/assets/parallax backgound pack/_11_background.png differ diff --git a/exo2/assets/parallax backgound pack/_11_background.png.import b/exo2/assets/parallax backgound pack/_11_background.png.import new file mode 100644 index 0000000..3db797c --- /dev/null +++ b/exo2/assets/parallax backgound pack/_11_background.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdkpfj2ox2lw1" +path="res://.godot/imported/_11_background.png-d15e49f45cd964d23fbcc97cb49a1c8a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exo2/assets/parallax backgound pack/_11_background.png" +dest_files=["res://.godot/imported/_11_background.png-d15e49f45cd964d23fbcc97cb49a1c8a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exo2/exo2.tscn b/exo2/exo2.tscn new file mode 100644 index 0000000..cc3d32d --- /dev/null +++ b/exo2/exo2.tscn @@ -0,0 +1,253 @@ +[gd_scene load_steps=26 format=3 uid="uid://b6dp24ttkuo86"] + +[ext_resource type="Texture2D" uid="uid://cyehiyi0vm78q" path="res://exo2/assets/parallax backgound pack/_01_ground.png" id="1_xfcy5"] +[ext_resource type="Texture2D" uid="uid://d1kw7agartg3r" path="res://exo2/assets/parallax backgound pack/_02_trees and bushes.png" id="2_opxly"] +[ext_resource type="Texture2D" uid="uid://shl14tvqugds" path="res://exo2/assets/parallax backgound pack/_03_distant_trees.png" id="3_m53lj"] +[ext_resource type="Texture2D" uid="uid://dhynvws72e4uf" path="res://exo2/assets/parallax backgound pack/_04_bushes.png" id="4_0c62v"] +[ext_resource type="Texture2D" uid="uid://fdwjphvawvbf" path="res://exo2/assets/parallax backgound pack/_05_hill1.png" id="5_0kksg"] +[ext_resource type="Texture2D" uid="uid://bo0pvl7nyi3wq" path="res://exo2/assets/parallax backgound pack/_06_hill2.png" id="6_dq1cv"] +[ext_resource type="Texture2D" uid="uid://bgknjkq6ph582" path="res://exo2/assets/parallax backgound pack/_07_huge_clouds.png" id="7_yqvhb"] +[ext_resource type="Texture2D" uid="uid://3ahqc2mhbmso" path="res://exo2/assets/parallax backgound pack/_08_clouds.png" id="8_etnl4"] +[ext_resource type="Texture2D" uid="uid://c1rdrrvq8cyd6" path="res://exo2/assets/parallax backgound pack/_09_distant_clouds1.png" id="9_jrtlg"] +[ext_resource type="Texture2D" uid="uid://cek2ji2ndkis5" path="res://exo2/assets/parallax backgound pack/_10_distant_clouds.png" id="10_ck8c7"] +[ext_resource type="Texture2D" uid="uid://cdkpfj2ox2lw1" path="res://exo2/assets/parallax backgound pack/_11_background.png" id="11_0y34s"] +[ext_resource type="Script" uid="uid://dgakeqjbc0eyv" path="res://pas_touche/inter_exo/lana_exo2.gd" id="13_wtyjt"] +[ext_resource type="Texture2D" uid="uid://4g6qnykfjdba" path="res://exo1/assets/logo-CELL.png" id="13_yllor"] +[ext_resource type="Shader" uid="uid://bxh7ct2ofg1xy" path="res://exo2/shaders/1_simple_noise_exemple.gdshader" id="14_yllor"] +[ext_resource type="Shader" uid="uid://pie6shk758tp" path="res://exo2/shaders/2_read_screen_tex.gdshader" id="15_jp0bh"] +[ext_resource type="Shader" uid="uid://djppqek35tujs" path="res://exo2/shaders/3_simple_vertex_shader.gdshader" id="16_0olsu"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_disjo"] +radius = 50.0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_s3b2g"] +size = Vector2(12288, 1024) + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_yllor"] +noise_type = 0 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_yllor"] +noise = SubResource("FastNoiseLite_yllor") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_jp0bh"] +shader = ExtResource("14_yllor") +shader_parameter/speed = 0.5 +shader_parameter/noise_tex = SubResource("NoiseTexture2D_yllor") + +[sub_resource type="QuadMesh" id="QuadMesh_wtyjt"] +size = Vector2(500, 500) + +[sub_resource type="LabelSettings" id="LabelSettings_yllor"] +line_spacing = 0.0 +font_size = 50 +font_color = Color(0.187176, 0.187176, 0.187176, 1) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_0olsu"] +shader = ExtResource("15_jp0bh") +shader_parameter/new_green_color = Color(0.587817, 0.124166, 0.202083, 1) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_pld4h"] +shader = ExtResource("16_0olsu") + +[node name="Exo2" type="Node2D"] + +[node name="ParallaxBackground" type="ParallaxBackground" parent="."] +follow_viewport_enabled = true + +[node name="ParallaxLayer1" type="ParallaxLayer" parent="ParallaxBackground"] + +[node name="01Ground" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer1"] +texture_repeat = 3 +position = Vector2(0, 795) +texture = ExtResource("1_xfcy5") +region_enabled = true +region_rect = Rect2(0, 0, 12288, 3092) + +[node name="ParallaxLayer2" type="ParallaxLayer" parent="ParallaxBackground"] +motion_scale = Vector2(0.4, 0.4) + +[node name="02TreesAndBushes" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer2"] +z_index = -1 +texture_repeat = 3 +texture = ExtResource("2_opxly") +region_enabled = true +region_rect = Rect2(0, 0, 12288, 1546) +region_filter_clip_enabled = true + +[node name="ParallaxLayer3" type="ParallaxLayer" parent="ParallaxBackground"] +motion_scale = Vector2(0.3, 0.3) + +[node name="03DistantTrees" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer3"] +z_index = -2 +texture_repeat = 3 +texture = ExtResource("3_m53lj") +region_enabled = true +region_rect = Rect2(0, 0, 12288, 1546) + +[node name="ParallaxLayer4" type="ParallaxLayer" parent="ParallaxBackground"] +motion_scale = Vector2(0.2, 0.2) + +[node name="04Bushes" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer4"] +z_index = -3 +texture_repeat = 3 +texture = ExtResource("4_0c62v") +region_enabled = true +region_rect = Rect2(0, 0, 12288, 1546) + +[node name="ParallaxLayer5" type="ParallaxLayer" parent="ParallaxBackground"] +motion_scale = Vector2(0.1, 0.1) + +[node name="05Hill1" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer5"] +z_index = -4 +texture_repeat = 3 +texture = ExtResource("5_0kksg") +region_enabled = true +region_rect = Rect2(0, 0, 12288, 1546) + +[node name="ParallaxLayer6" type="ParallaxLayer" parent="ParallaxBackground"] +motion_scale = Vector2(0.06, 0.06) + +[node name="06Hill2" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer6"] +z_index = -5 +texture_repeat = 3 +texture = ExtResource("6_dq1cv") +region_enabled = true +region_rect = Rect2(0, 0, 12288, 1546) + +[node name="ParallaxLayer7" type="ParallaxLayer" parent="ParallaxBackground"] +z_index = -7 +motion_scale = Vector2(0.03, 0.03) + +[node name="07HugeClouds" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer7"] +texture_repeat = 3 +texture = ExtResource("7_yqvhb") +region_enabled = true +region_rect = Rect2(0, 0, 12288, 1546) + +[node name="ParallaxLayer8" type="ParallaxLayer" parent="ParallaxBackground"] +z_index = -8 +motion_scale = Vector2(0.02, 0.02) + +[node name="08Clouds" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer8"] +texture_repeat = 3 +texture = ExtResource("8_etnl4") +region_enabled = true +region_rect = Rect2(0, 0, 12288, 1546) + +[node name="ParallaxLayer9" type="ParallaxLayer" parent="ParallaxBackground"] +z_index = -7 +motion_scale = Vector2(0.01, 0.01) + +[node name="09DistantClouds1" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer9"] +z_index = -9 +texture_repeat = 3 +texture = ExtResource("9_jrtlg") +region_enabled = true +region_rect = Rect2(0, 0, 12288, 1546) + +[node name="ParallaxLayer10" type="ParallaxLayer" parent="ParallaxBackground"] +z_index = -10 +motion_scale = Vector2(0.01, 0.01) + +[node name="10DistantClouds" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer10"] +texture_repeat = 3 +texture = ExtResource("10_ck8c7") +region_enabled = true +region_rect = Rect2(0, 0, 12288, 1546) + +[node name="ParallaxLayer11" type="ParallaxLayer" parent="ParallaxBackground"] +z_index = -11 + +[node name="11Background" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer11"] +texture_repeat = 3 +texture = ExtResource("11_0y34s") +region_enabled = true +region_rect = Rect2(0, 0, 12288, 1546) + +[node name="LanaExo2" type="CharacterBody2D" parent="."] +position = Vector2(-1137, 417) +script = ExtResource("13_wtyjt") + +[node name="Logo-cell" type="Sprite2D" parent="LanaExo2"] +rotation = 3.14159 +scale = Vector2(0.05, 0.05) +texture = ExtResource("13_yllor") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="LanaExo2"] +position = Vector2(-2, -55) +shape = SubResource("CircleShape2D_disjo") + +[node name="Camera2D" type="Camera2D" parent="LanaExo2"] + +[node name="Ground" type="StaticBody2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Ground"] +position = Vector2(28, 978) +shape = SubResource("RectangleShape2D_s3b2g") + +[node name="Shaders" type="Node2D" parent="."] + +[node name="1_SimpleNoiseTex" type="MeshInstance2D" parent="Shaders"] +material = SubResource("ShaderMaterial_jp0bh") +position = Vector2(-577, 289) +mesh = SubResource("QuadMesh_wtyjt") + +[node name="Label2" type="Label" parent="Shaders/1_SimpleNoiseTex"] +offset_left = -333.0 +offset_top = -703.0 +offset_right = 1299.0 +offset_bottom = -220.0 +text = "1) Lecture de texture + +Bon tu connais la chanson, va dans shaders et +clique sur le shader avec 1 devant + +Lis bien les commentaires du code ! (y'a un TODO)" +label_settings = SubResource("LabelSettings_yllor") + +[node name="2_ReadScreenTex" type="MeshInstance2D" parent="Shaders"] +material = SubResource("ShaderMaterial_0olsu") +position = Vector2(747, 189) +mesh = SubResource("QuadMesh_wtyjt") + +[node name="Label3" type="Label" parent="Shaders/2_ReadScreenTex"] +offset_left = -233.0 +offset_top = -635.0 +offset_right = 1399.0 +offset_bottom = -221.0 +text = "2) Texture d'ecran + +Bouge le noeud 2_ReadScreenTex +sur l'ecran. Qu'est-ce qui se passe ? Va dans le shaders, +et lis les commentaires + (y'a un TODO)" +label_settings = SubResource("LabelSettings_yllor") + +[node name="3_SimpleVertexShader" type="MeshInstance2D" parent="Shaders"] +material = SubResource("ShaderMaterial_pld4h") +position = Vector2(2363, 189) +mesh = SubResource("QuadMesh_wtyjt") + +[node name="Label3" type="Label" parent="Shaders/3_SimpleVertexShader"] +offset_left = -233.0 +offset_top = -635.0 +offset_right = 1399.0 +offset_bottom = -221.0 +text = "3) Simple vertex shader + +Regarde le code +et lis les commentaires + (y'a un TODO)" +label_settings = SubResource("LabelSettings_yllor") + +[node name="Labels" type="Node2D" parent="Shaders"] + +[node name="Label" type="Label" parent="Shaders/Labels"] +offset_left = -2214.0 +offset_top = -324.0 +offset_right = -582.0 +offset_bottom = -117.0 +text = "Bienvenue dans l'exo 2 ! +Finit les tableaux, on va voir des shaders plus +utiles et interessants !" +label_settings = SubResource("LabelSettings_yllor") diff --git a/exo2/scripts/cam_follow.gd b/exo2/scripts/cam_follow.gd new file mode 100644 index 0000000..f4677f9 --- /dev/null +++ b/exo2/scripts/cam_follow.gd @@ -0,0 +1,18 @@ +extends Camera2D + +@export var lana : Lana +@export var lerp_speed := 10 + +var target_pos : Vector2 + +func _ready() -> void: + target_pos = lana.position + +func _process(delta: float) -> void: + #var screen_center : Vector2 = get_screen_center_position() + var diff := lana.position.x - target_pos.x + var screen_size := get_viewport_rect().size.x + if abs(diff) > screen_size / 2: + target_pos.x += screen_size * sign(diff) + + position.x = lerp(position.x, target_pos.x, lerp_speed*delta) diff --git a/exo2/scripts/cam_follow.gd.uid b/exo2/scripts/cam_follow.gd.uid new file mode 100644 index 0000000..4321dc1 --- /dev/null +++ b/exo2/scripts/cam_follow.gd.uid @@ -0,0 +1 @@ +uid://0cv88akfi7rx diff --git a/exo2/shaders/1_simple_noise_exemple.gdshader b/exo2/shaders/1_simple_noise_exemple.gdshader new file mode 100644 index 0000000..4023238 --- /dev/null +++ b/exo2/shaders/1_simple_noise_exemple.gdshader @@ -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 diff --git a/exo2/shaders/1_simple_noise_exemple.gdshader.uid b/exo2/shaders/1_simple_noise_exemple.gdshader.uid new file mode 100644 index 0000000..321a253 --- /dev/null +++ b/exo2/shaders/1_simple_noise_exemple.gdshader.uid @@ -0,0 +1 @@ +uid://bxh7ct2ofg1xy diff --git a/exo2/shaders/2_read_screen_tex.gdshader b/exo2/shaders/2_read_screen_tex.gdshader new file mode 100644 index 0000000..5e61692 --- /dev/null +++ b/exo2/shaders/2_read_screen_tex.gdshader @@ -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. +//} diff --git a/exo2/shaders/2_read_screen_tex.gdshader.uid b/exo2/shaders/2_read_screen_tex.gdshader.uid new file mode 100644 index 0000000..c94bffb --- /dev/null +++ b/exo2/shaders/2_read_screen_tex.gdshader.uid @@ -0,0 +1 @@ +uid://pie6shk758tp diff --git a/exo2/shaders/3_simple_vertex_shader.gdshader b/exo2/shaders/3_simple_vertex_shader.gdshader new file mode 100644 index 0000000..34b62b1 --- /dev/null +++ b/exo2/shaders/3_simple_vertex_shader.gdshader @@ -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. +//} diff --git a/exo2/shaders/3_simple_vertex_shader.gdshader.uid b/exo2/shaders/3_simple_vertex_shader.gdshader.uid new file mode 100644 index 0000000..4b41da3 --- /dev/null +++ b/exo2/shaders/3_simple_vertex_shader.gdshader.uid @@ -0,0 +1 @@ +uid://djppqek35tujs diff --git a/exo2/shaders/Pixel Adventure 1.zip b/exo2/shaders/Pixel Adventure 1.zip new file mode 100644 index 0000000..f7ae4bb Binary files /dev/null and b/exo2/shaders/Pixel Adventure 1.zip differ diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..9d8b7fa --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..aacee96 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://db278do6o60up" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/pas_touche/inter_exo/lana.tscn b/pas_touche/inter_exo/lana.tscn new file mode 100644 index 0000000..e6f3dee --- /dev/null +++ b/pas_touche/inter_exo/lana.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=4 format=3 uid="uid://hb5qh45e6x1s"] + +[ext_resource type="Script" uid="uid://b45k3pjypqcv2" path="res://pas_touche/scripts/lana.gd" id="1_7rpys"] +[ext_resource type="Texture2D" uid="uid://4g6qnykfjdba" path="res://exo1/assets/logo-CELL.png" id="2_ge1bf"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_disjo"] +radius = 71.0282 + +[node name="Lana" type="CharacterBody2D"] +script = ExtResource("1_7rpys") +speed = 150.0 + +[node name="Logo-cell" type="Sprite2D" parent="."] +rotation = 3.14159 +scale = Vector2(0.05, 0.05) +texture = ExtResource("2_ge1bf") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_disjo") diff --git a/pas_touche/inter_exo/lana_exo2.gd b/pas_touche/inter_exo/lana_exo2.gd new file mode 100644 index 0000000..75a87f5 --- /dev/null +++ b/pas_touche/inter_exo/lana_exo2.gd @@ -0,0 +1,18 @@ +extends CharacterBody2D +class_name LanaExo2 + +@export var speed := 100.0 +@export var gravity := 9.8 +@export var jump_velocity := -400.0 + +func _physics_process(delta: float) -> void: + var horizontal : float = Input.get_axis("left", "right") + + if not is_on_floor(): + velocity.y += gravity + + if Input.is_action_just_pressed("jump") && is_on_floor(): + velocity.y += jump_velocity + + velocity.x = horizontal * speed + move_and_slide() diff --git a/pas_touche/inter_exo/lana_exo2.gd.uid b/pas_touche/inter_exo/lana_exo2.gd.uid new file mode 100644 index 0000000..5de0447 --- /dev/null +++ b/pas_touche/inter_exo/lana_exo2.gd.uid @@ -0,0 +1 @@ +uid://dgakeqjbc0eyv diff --git a/pas_touche/scripts/lana.gd b/pas_touche/scripts/lana.gd new file mode 100644 index 0000000..97d00f6 --- /dev/null +++ b/pas_touche/scripts/lana.gd @@ -0,0 +1,11 @@ +extends CharacterBody2D +class_name Lana + +@export var speed := 100.0 + +func _physics_process(delta: float) -> void: + var horizontal : float = Input.get_axis("left", "right") + var vertical : float = Input.get_axis("top", "bottom") + + velocity = Vector2(horizontal, vertical).normalized() * speed + move_and_slide() diff --git a/pas_touche/scripts/lana.gd.uid b/pas_touche/scripts/lana.gd.uid new file mode 100644 index 0000000..59c43ad --- /dev/null +++ b/pas_touche/scripts/lana.gd.uid @@ -0,0 +1 @@ +uid://b45k3pjypqcv2 diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..69a299b --- /dev/null +++ b/project.godot @@ -0,0 +1,63 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="format_shaders" +run/main_scene="uid://b6dp24ttkuo86" +config/features=PackedStringArray("4.4", "GL Compatibility") +config/icon="res://icon.svg" + +[input] + +right={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +left={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +top={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +bottom={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +action1={ +"deadzone": 0.2, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null) +] +} +action2={ +"deadzone": 0.2, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null) +] +} +jump={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +] +} + +[rendering] + +renderer/rendering_method="gl_compatibility" +renderer/rendering_method.mobile="gl_compatibility"