Skip to content

Radar_Aya_DAYI_Tasnime_ARZAZ #27

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 22 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://bv34hd4a2wbit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://bj4dail4toa6d
1 change: 1 addition & 0 deletions examples/LabelStepPass.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://q8wumduymhf6
1 change: 1 addition & 0 deletions examples/cells/cells.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://ce667yq7yolmp
3 changes: 2 additions & 1 deletion examples/cells/example_cells.tscn
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://cutxgtalwsp6q"]

[ext_resource type="Script" path="res://examples/cells/cells.gd" id="1_dw4h8"]
[ext_resource type="Script" uid="uid://ce667yq7yolmp" path="res://examples/cells/cells.gd" id="1_dw4h8"]
[ext_resource type="Texture2D" uid="uid://demftcowdd5c6" path="res://examples/icon.svg" id="2_oji6h"]

[node name="Cells" type="Control" node_paths=PackedStringArray("data")]
Expand Down Expand Up @@ -31,6 +31,7 @@ grow_vertical = 2

[node name="Display" type="Sprite2D" parent="CenterAnchor"]
texture_filter = 1
position = Vector2(-39, -32)
scale = Vector2(4, 4)
texture = ExtResource("2_oji6h")

Expand Down
2 changes: 1 addition & 1 deletion examples/example_1.tscn
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[gd_scene load_steps=5 format=3 uid="uid://ddr6qtwy1pesd"]

[ext_resource type="Script" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_6846p"]
[ext_resource type="Script" uid="uid://bv34hd4a2wbit" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_6846p"]
[ext_resource type="Texture2D" uid="uid://demftcowdd5c6" path="res://examples/icon.svg" id="2_s3fct"]

[sub_resource type="FastNoiseLite" id="FastNoiseLite_dmk8h"]
Expand Down
2 changes: 1 addition & 1 deletion examples/example_2.tscn
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://cotswmubn7uvm"]

[ext_resource type="Script" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_2cs40"]
[ext_resource type="Script" uid="uid://cleifuttwn5dw" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_2cs40"]
[ext_resource type="Texture2D" uid="uid://demftcowdd5c6" path="res://examples/icon.svg" id="2_j6qu8"]

[node name="Example2" type="Node2D"]
Expand Down
4 changes: 2 additions & 2 deletions examples/example_3.tscn
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://cmucgsppcoo5e"]

[ext_resource type="Script" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_eimw3"]
[ext_resource type="Script" path="res://examples/LabelStepPass.gd" id="2_4aq4t"]
[ext_resource type="Script" uid="uid://cleifuttwn5dw" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_eimw3"]
[ext_resource type="Script" uid="uid://q8wumduymhf6" path="res://examples/LabelStepPass.gd" id="2_4aq4t"]
[ext_resource type="Texture2D" uid="uid://demftcowdd5c6" path="res://examples/icon.svg" id="2_4upxj"]

[node name="CompShadStudioEx3" type="Node2D"]
Expand Down
2 changes: 1 addition & 1 deletion examples/example_4.tscn
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://b2ip5eftk3aij"]

[ext_resource type="Script" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_ke3fj"]
[ext_resource type="Script" uid="uid://cleifuttwn5dw" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_ke3fj"]
[ext_resource type="Texture2D" uid="uid://2behgeplwycn" path="res://examples/grid_512x512.png" id="2_flqlh"]

[node name="CompShadStudioEx4" type="Node2D"]
Expand Down
2 changes: 1 addition & 1 deletion examples/example_5.tscn
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[gd_scene load_steps=4 format=3 uid="uid://cets11mlsd8hb"]

[ext_resource type="Script" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_cogap"]
[ext_resource type="Script" uid="uid://cleifuttwn5dw" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_cogap"]

[sub_resource type="FastNoiseLite" id="FastNoiseLite_pm7bb"]

Expand Down
4 changes: 2 additions & 2 deletions examples/example_lenia_test.tscn
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://cljj33x767odp"]

[ext_resource type="Script" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_wci4f"]
[ext_resource type="Script" path="res://examples/LabelStepPass.gd" id="2_ndkd3"]
[ext_resource type="Script" uid="uid://cleifuttwn5dw" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_wci4f"]
[ext_resource type="Script" uid="uid://q8wumduymhf6" path="res://examples/LabelStepPass.gd" id="2_ndkd3"]
[ext_resource type="Texture2D" uid="uid://demftcowdd5c6" path="res://examples/icon.svg" id="3_orsvs"]

[node name="CompShadStudioEx3" type="Node2D"]
Expand Down
1 change: 1 addition & 0 deletions examples/example_mandelbrot.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://mj6p8vw40uoo
4 changes: 2 additions & 2 deletions examples/example_mandelbrot.tscn
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://d1hhshnvrt86e"]

[ext_resource type="Script" path="res://examples/example_mandelbrot.gd" id="1_5gp20"]
[ext_resource type="Script" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_t5cx1"]
[ext_resource type="Script" uid="uid://mj6p8vw40uoo" path="res://examples/example_mandelbrot.gd" id="1_5gp20"]
[ext_resource type="Script" uid="uid://cleifuttwn5dw" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_t5cx1"]
[ext_resource type="Texture2D" uid="uid://demftcowdd5c6" path="res://examples/icon.svg" id="2_dyrad"]

[node name="example_mandelbrot" type="Node2D"]
Expand Down
2 changes: 1 addition & 1 deletion examples/example_psycho_seizure.tscn
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://cdtqwwdxs783m"]

[ext_resource type="Script" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_26wk6"]
[ext_resource type="Script" uid="uid://cleifuttwn5dw" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="1_26wk6"]
[ext_resource type="Texture2D" uid="uid://demftcowdd5c6" path="res://examples/icon.svg" id="2_urrfs"]

[node name="exeample_psycho_seizure" type="Node2D"]
Expand Down
142 changes: 142 additions & 0 deletions examples/radar/radar.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
#define M_PI 3.14159265358979323846

// Color definitions
#define blue1 vec3(0.74, 0.0, 0.00)
#define blue2 vec3(0.87, 0.98, 1.00)
#define blue3 vec3(1.0, 1.0, 1.0)
#define blue4 vec3(0.953, 0.969, 0.89)
#define red vec3(0.00, 0.00, 1.00)

// Helper macro
#define SMOOTH(r, R) (1.0 - smoothstep(R - 1.0, R + 1.0, r))

void main() {
uint x = gl_GlobalInvocationID.x;
uint y = gl_GlobalInvocationID.y;
uint p = x + y * WSX;

//Calcule les coordonnées normalisées et la distance depuis le centre de l'écran (r).
vec2 uv = vec2(float(x), float(y));
vec2 c = vec2(float(WSX) / 2.0, float(WSY) / 2.0); // Center
vec2 d = uv - c;
float r = length(d);

//Définit un facteur d'échelle pour adapter les éléments à la taille de l'écran et une variable du temps
float scale = min(float(WSX), float(WSY)) / 650.0;
float time = float(step) * 0.01;

// arriere plan noir
vec3 finalColor = vec3(0.0);

// Normalized direction (for angles)
vec2 dn = r > 0.0 ? d / r : vec2(0.0);
float angle = atan(dn.y, dn.x);
float theta = 180.0 * angle / M_PI;

//Dessine trois cercles concentriques de différentes tailles.
finalColor += (SMOOTH(r - 0.5 * scale, 100.0 * scale) - SMOOTH(r + 0.5 * scale, 100.0 * scale)) * blue1;
finalColor += (SMOOTH(r - 0.5 * scale, 165.0 * scale) - SMOOTH(r + 0.5 * scale, 165.0 * scale)) * blue1;
finalColor += (SMOOTH(r - 1.0 * scale, 240.0 * scale) - SMOOTH(r + 1.0 * scale, 240.0 * scale)) * blue4;

// Dessine un petit point au centre.
finalColor += (SMOOTH(r - 0.5 * scale, 10.0 * scale) - SMOOTH(r + 0.5 * scale, 10.0 * scale)) * blue3;

// Crée une ligne de balayage qui tourne comme un radar, avec un gradient.
if (r < 240.0 * scale) {
float scanAngle = 90.0 * time * M_PI / 180.0;
vec2 scanDir = vec2(cos(scanAngle), -sin(scanAngle));
float scanDist = dot(dn, scanDir);
float theta0 = 90.0 * time;
float angDiff = mod(theta + theta0, 360.0);
float gradient = clamp(1.0 - angDiff / 90.0, 0.0, 1.0);
float scanLine = SMOOTH(1.0 - scanDist, 0.03) * 0.75;
finalColor += (scanLine + 0.5 * gradient) * blue3 * smoothstep(240.0 * scale, 220.0 * scale, r);
}

// Dessine un cercle extérieur avec des segments réguliers.
if (r > 310.0 * scale && r < 316.0 * scale) {
float segmentPattern = smoothstep(2.0, 2.1, abs(mod(theta + 2.0, 45.0) - 2.0)) *
mix(0.5, 1.0, float(abs(mod(theta, 180.0) - 90.0) > 45.0));
finalColor += segmentPattern * blue1;
}

// Crée un demi-cercle avec une ouverture qui varie avec le temps.
if (r > 260.0 * scale && r < 264.0 * scale) {
float opening = 0.5 + 0.2 * cos(time);
if (abs(dn.y) > opening) {
finalColor += 0.7 * blue3;
}
}


// Dessine quatre triangles qui pulsent avec le temps autour d'un cercle invisible.
float radius = (315.0 + 30.0 * sin(time)) * scale;
// Right triangle
if (d.x - radius >= -8.0 * scale && d.x - radius <= 0.0) {
float t = 1.0 - smoothstep(7.0 * scale + d.x - radius, 9.0 * scale + d.x - radius, abs(d.y));
finalColor += t * blue2;
}
// Left triangle
if (d.x + radius >= 0.0 && d.x + radius <= 8.0 * scale) {
float t = 1.0 - smoothstep(7.0 * scale - d.x - radius, 9.0 * scale - d.x - radius, abs(d.y));
finalColor += t * blue2;
}
// Bottom triangle
if (d.y - radius >= -8.0 * scale && d.y - radius <= 0.0) {
float t = 1.0 - smoothstep(7.0 * scale + d.y - radius, 9.0 * scale + d.y - radius, abs(d.x));
finalColor += t * blue2;
}
// Top triangle
if (d.y + radius >= 0.0 && d.y + radius <= 8.0 * scale) {
float t = 1.0 - smoothstep(7.0 * scale - d.y - radius, 9.0 * scale - d.y - radius, abs(d.x));
finalColor += t * blue2;
}

// Dessine deux points mobiles qui se déplacent sur des trajectoires complexes.
if (r < 240.0 * scale) {
// Blip 1
{
float t = time * 0.1;
vec2 pos = c + 130.0 * scale * vec2(
1.3 * cos(t) + 1.0 * cos(0.1 * t),
1.0 * sin(t) + 1.4 * cos(0.1 * t)
);
float blipDist = length(uv - pos);
finalColor += SMOOTH(blipDist, 3.0 * scale) * vec3(1, 1, 1);
}
// Blip 2
{
float t = sin(0.1 * time + 7.0) + 0.2 * time;
vec2 pos = c + 50.0 * scale * vec2(
1.54 * cos(t) + 1.7 * cos(0.1 * t),
1.37 * sin(t) + 1.8 * cos(0.1 * t)
);
float blipDist = length(uv - pos);
float R = (8.0 + mod(87.0 * time, 80.0)) * scale;

float blip = (0.5 - 0.5 * cos(30.0 * time)) * SMOOTH(blipDist, 5.0 * scale)
+ SMOOTH(6.0 * scale, blipDist) - SMOOTH(8.0 * scale, blipDist)
+ smoothstep(max(8.0 * scale, R - 20.0 * scale), R, blipDist) - SMOOTH(R, blipDist);

finalColor += blip * red;
}
}

// Dessine trois cibles fixes avec des halos lumineux.
vec2 targetPositions[3] = vec2[](
c + vec2(0.3, 0.2) * float(WSX) * 0.5,
c + vec2(-0.4, -0.3) * float(WSX) * 0.5,
c + vec2(0.1, -0.5) * float(WSX) * 0.5
);

for (int i = 0; i < 3; i++) {
float targetDist = length(uv - targetPositions[i]);
finalColor += red * exp(-50.0 * targetDist / scale) * 0.7;
}

int color = (int(clamp(finalColor.r, 0.0, 1.0) * 255.0) << 16) |
(int(clamp(finalColor.g, 0.0, 1.0) * 255.0) << 8) |
int(clamp(finalColor.b, 0.0, 1.0) * 255.0);

data_0[p] = 0xFF000000 | color;
}
14 changes: 14 additions & 0 deletions examples/radar/radar.glsl.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[remap]

importer="glsl"
type="RDShaderFile"
uid="uid://c0c2dlutu4gln"
path="res://.godot/imported/test.glsl-ccd8d19c47d7f1edc36578aab1bf31da.res"

[deps]

source_file="res://examples/test/test.glsl"
dest_files=["res://.godot/imported/test.glsl-ccd8d19c47d7f1edc36578aab1bf31da.res"]

[params]

20 changes: 20 additions & 0 deletions examples/radar/radar.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[gd_scene load_steps=3 format=3 uid="uid://bhsg8ie7m0n18"]

[ext_resource type="Texture2D" uid="uid://demftcowdd5c6" path="res://examples/icon.svg" id="1_tfywn"]
[ext_resource type="Script" uid="uid://cleifuttwn5dw" path="res://addons/compute_shader_studio/compute_shader_studio_2d.gd" id="2_3uxvf"]

[node name="Test" type="Node2D"]

[node name="Icon" type="Sprite2D" parent="."]
position = Vector2(579, 337.5)
scale = Vector2(9.73438, 5.74219)
texture = ExtResource("1_tfywn")

[node name="ComputeShaderStudio2D" type="Node" parent="Icon" node_paths=PackedStringArray("data")]
script = ExtResource("2_3uxvf")
WSX = 512
WSY = 512
glsl_file = "res://examples/test/test.cpp"
GLSL_code = ""
data = [NodePath("..")]
metadata/_custom_type_script = "uid://cleifuttwn5dw"
4 changes: 2 additions & 2 deletions project.godot
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ config_version=5
[application]

config/name="compute_shader_studio"
run/main_scene="res://examples/example_1.tscn"
config/features=PackedStringArray("4.3", "Forward Plus")
run/main_scene="uid://bhsg8ie7m0n18"
config/features=PackedStringArray("4.4", "Forward Plus")
config/icon="res://addons/compute_shader_studio/icon.png"

[editor_plugins]
Expand Down
Empty file added projet
Empty file.