Bug fixes and polishing
Co-authored-by: m.sonaglioni <m.sonaglioni@jmpgames.it> Co-committed-by: m.sonaglioni <m.sonaglioni@jmpgames.it>
This commit was merged in pull request #29.
This commit is contained in:
@@ -5,8 +5,9 @@
|
||||
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="4_2oda6"]
|
||||
|
||||
[node name="AiFarmer" unique_id=1228675528 instance=ExtResource("1_l2y7m")]
|
||||
allowed_biomes = Array[String](["countryside"])
|
||||
|
||||
[node name="StateMachine" parent="." index="3" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
|
||||
[node name="StateMachine" parent="." index="1" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
|
||||
initial_state = NodePath("GatherState")
|
||||
|
||||
[node name="PatrolState" type="Node" parent="StateMachine" index="0" unique_id=930272128]
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
class_name EdgeDetectionCompositor
|
||||
extends CompositorEffect
|
||||
|
||||
# --- MODIFICATO: Parametro esportato per l'Inspector ---
|
||||
@export_range(0.0, 5.0, 0.1) var line_thickness: float = 1.0
|
||||
|
||||
var rd: RenderingDevice
|
||||
var shader: RID
|
||||
var pipeline: RID
|
||||
@@ -78,8 +81,8 @@ func _render_callback(p_effect_callback_type: EffectCallbackType, p_render_data:
|
||||
var texture_sampler = RDSamplerState.new()
|
||||
texture_sampler = rd.sampler_create(texture_sampler)
|
||||
|
||||
|
||||
var parameters := PackedFloat32Array([size.x, size.y, 0.0, 0.0])
|
||||
# --- MODIFICATO: Inviato il parametro line_thickness nel buffer GPU ---
|
||||
var parameters := PackedFloat32Array([size.x, size.y, line_thickness, 0.0])
|
||||
var inv_proj_mat := p_render_data.get_render_scene_data().get_cam_projection().inverse()
|
||||
var inv_proj_mat_array := PackedVector4Array([inv_proj_mat.x, inv_proj_mat.y, inv_proj_mat.z, inv_proj_mat.w])
|
||||
|
||||
|
||||
@@ -4,9 +4,11 @@
|
||||
|
||||
layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
|
||||
|
||||
// --- MODIFICATO: Inserito line_thickness e mantenuto il padding (reserved) ---
|
||||
layout(set = 0, binding = 0, std430) readonly buffer Params {
|
||||
vec2 raster_size;
|
||||
vec2 reserved;
|
||||
float line_thickness;
|
||||
float reserved;
|
||||
mat4 inv_proj_mat;
|
||||
} params;
|
||||
|
||||
@@ -89,12 +91,13 @@ void main() {
|
||||
|
||||
// Da qui in poi, il codice prosegue normalmente solo per gli altri oggetti
|
||||
|
||||
// UV ofssets
|
||||
// --- MODIFICATO: Aggiunto multiplier "thickness" agli UV offsets ---
|
||||
float thickness = params.line_thickness;
|
||||
vec2 uv_offsets[4];
|
||||
uv_offsets[0] = uv_normalized + vec2(0.0, -1.0) * texel_size + offset;
|
||||
uv_offsets[1] = uv_normalized + vec2(0.0, 1.0) * texel_size + offset;
|
||||
uv_offsets[2] = uv_normalized + vec2(1.0, 0.0) * texel_size + offset;
|
||||
uv_offsets[3] = uv_normalized + vec2(-1.0, 0.0) * texel_size + offset;
|
||||
uv_offsets[0] = uv_normalized + vec2(0.0, -1.0) * texel_size * thickness + offset;
|
||||
uv_offsets[1] = uv_normalized + vec2(0.0, 1.0) * texel_size * thickness + offset;
|
||||
uv_offsets[2] = uv_normalized + vec2(1.0, 0.0) * texel_size * thickness + offset;
|
||||
uv_offsets[3] = uv_normalized + vec2(-1.0, 0.0) * texel_size * thickness + offset;
|
||||
|
||||
float mask = ceil(raw_roughness);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user