Skip to content

Commit

Permalink
Merge pull request #7 from SAED2906/main
Browse files Browse the repository at this point in the history
Fixed configuration settings not being applied.
  • Loading branch information
ItsKorin authored Apr 12, 2024
2 parents ee0523a + 12e6c64 commit df61c1e
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 1 deletion.
27 changes: 26 additions & 1 deletion addons/post_processing/node/post_process.gd
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ func _update_shaders() -> void:
for child in get_children():
var data : ColorRect = child.get_child(0)
if data:
_update_shader_parameters(data.name, data.material)
_update_shader_parameters(child.name, data.material)
child.visible = _check_shader_visibility(child.name)
return

Expand Down Expand Up @@ -58,6 +58,26 @@ func _update_shader_parameters( _name : String, _material : Material) -> void:
_material.set_shader_parameter("animation_speed", configuration.SpeedLineSpeed)
"Ascii":
_material.set_shader_parameter("ascii_size", configuration.ASCIISize)
"CRT":
_material.set_shader_parameter("overlay", configuration.overlay)
_material.set_shader_parameter("scanlines_opacity", configuration.scanlines_opacity)
_material.set_shader_parameter("scanlines_width", configuration.scanlines_width)
_material.set_shader_parameter("grille_opacity", configuration.grille_opacity)
_material.set_shader_parameter("pixelate", configuration.pixelate)
_material.set_shader_parameter("roll_size", configuration.roll_size)
_material.set_shader_parameter("roll_variation", configuration.roll_variation)
_material.set_shader_parameter("distort_intensity", configuration.distort_intensity)
_material.set_shader_parameter("noise_opacity", configuration.noise_opacity)
_material.set_shader_parameter("noise_speed", configuration.noise_speed)
_material.set_shader_parameter("static_noise_intensity", configuration.static_noise_intensity)
_material.set_shader_parameter("aberration", configuration.aberration)
_material.set_shader_parameter("brightness", configuration.brightness)
_material.set_shader_parameter("discolor", configuration.discolor)
_material.set_shader_parameter("warp_amount", configuration.warp_amount)
_material.set_shader_parameter("clip_warp", configuration.clip_warp)
_material.set_shader_parameter("vignette_intensity", configuration.vignette_intensity)
_material.set_shader_parameter("vignette_opacity", configuration.vignette_opacity)


func _check_shader_visibility(_name: String) -> bool:

Expand Down Expand Up @@ -96,6 +116,10 @@ func _check_shader_visibility(_name: String) -> bool:

if _name.begins_with("Ascii"):
return true if configuration.ASCII else false

if _name.begins_with("CRT"):
return true if configuration.CRT else false


push_error("#Undefined type Post Processing addon - verify it has been properly integrated.")
return false # bad!
Expand All @@ -114,6 +138,7 @@ func _enter_tree():
_add_canvas_layer_children("res://addons/post_processing/node/children/circular_waves.tscn", "CIR_WAV")
_add_canvas_layer_children("res://addons/post_processing/node/children/speed_lines.tscn", "SDP_LIN")
_add_canvas_layer_children("res://addons/post_processing/node/children/ascii.tscn", "ASCII")
_add_canvas_layer_children("res://addons/post_processing/node/children/CRT.tscn", "CRT")

_update_shaders()

Expand Down
22 changes: 22 additions & 0 deletions addons/post_processing/resource/post_processing_configuration.gd
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,28 @@ class_name PostProcessingConfiguration extends Resource
@export_range(0,2, 0.05) var SpeedLinesCount = 2
@export_range(0.0, 1.0) var SpeedLineDensity = 0.072
@export_range(1.0, 40.0, 1.0) var SpeedLineSpeed = 20;
@export_group("CRT")
@export var CRT: bool
@export var overlay : bool = false;
@export_range(0.0, 1.0) var scanlines_opacity : float = 0.4;
@export_range(0.0, 0.5) var scanlines_width : float = 0.25;
@export_range(0.0, 1.0) var grille_opacity : float = 0.3;
@export var pixelate : bool = true;
@export var roll_speed : float = 8.0;
@export_range(0.0, 100.0) var roll_size : float = 15.0;
@export_range(0.1, 5.0) var roll_variation : float = 1.8;
@export_range(0.0, 0.2) var distort_intensity : float = 0.05;
@export_range(0.0, 1.0) var noise_opacity : float = 0.4;
@export var noise_speed : float = 5.0;
@export_range(0.0, 1.0) var static_noise_intensity : float = 0.06;
@export_range(-1.0, 1.0) var aberration : float = 0.03;
@export var brightness : float = 1.4;
@export var discolor : bool = true;
@export_range(0.0, 5.0) var warp_amount : float = 1.0;
@export var clip_warp : bool = false;
@export var vignette_intensity : float = 0.4;
@export_range(0.0, 1.0) var vignette_opacity : float = 0.5;


#@export_category("Bloom")
var Bloom: bool = false
Expand Down
39 changes: 39 additions & 0 deletions addons/post_processing/shaders/CRT.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
[gd_scene load_steps=3 format=3 uid="uid://bvnr0u4wkqw3p"]

[ext_resource type="Shader" path="res://addons/post_processing/shaders/crt.gdshader" id="1_nnvft"]

[sub_resource type="ShaderMaterial" id="ShaderMaterial_jiuwk"]
shader = ExtResource("1_nnvft")
shader_parameter/overlay = false
shader_parameter/scanlines_opacity = 0.1
shader_parameter/scanlines_width = 0.25
shader_parameter/grille_opacity = 0.3
shader_parameter/resolution = Vector2(640, 480)
shader_parameter/pixelate = true
shader_parameter/roll = true
shader_parameter/roll_speed = 8.0
shader_parameter/roll_size = 15.0
shader_parameter/roll_variation = 1.8
shader_parameter/distort_intensity = 0.05
shader_parameter/noise_opacity = 0.4
shader_parameter/noise_speed = 5.0
shader_parameter/static_noise_intensity = 0.06
shader_parameter/aberration = 0.03
shader_parameter/brightness = 1.4
shader_parameter/discolor = true
shader_parameter/warp_amount = 1.0
shader_parameter/clip_warp = false
shader_parameter/vignette_intensity = 10.0
shader_parameter/vignette_opacity = 0.031

[node name="CRT" type="CanvasLayer"]
visible = false

[node name="data" type="ColorRect" parent="."]
material = SubResource("ShaderMaterial_jiuwk")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2

0 comments on commit df61c1e

Please sign in to comment.