Convert all VisualShaders to plain Shaders; clean editor noise
Godot 4 emits two unavoidable warnings every time it reconstructs a Godot-3-authored VisualShader graph: 'graph_offset property is deprecated' (the editor's pan position, removed in 4.x) and 'connect_nodes_forced: Index p_from_port = 1 is out of bounds' (node-graph ports that no longer line up). The compiled GLSL inside each ShaderMaterial is correct; only the graph reconstruction is broken. scripts/devisualize_shaders.gd walks every .material, .tres, and .mesh under res:// and replaces ShaderMaterial.shader from VisualShader to a plain Shader carrying the same .code. 15 materials converted (font outline, dissolve, color tints, book/candle/godet/ growler/parchment/rock-floor/stool/table). Godot now loads the compiled shader directly with no graph reconstruction → both warnings gone, rendering identical. Also: - scripts/resave_scenes.gd: load + re-save every .tscn so inline ArrayMesh sub-resources (notably WarCraft.tscn::17, the baked floor) move from Godot-3 PoolByteArray to Godot-4 PackedByteArray surface format. Silences 'Mesh uses old surface format'. - scripts/find_visualshaders.gd: companion audit tool that lists every Resource still backed by a VisualShader. Useful if new legacy materials get added. - Drop the now-orphan inline VisualShader / ShaderMaterial sub- resources (id 1..17) from Summary.tscn. The PanelWood lost its screen-blend tint material; a plain Panel renders fine and the effect can be re-authored as a hand-written shader if wanted. - Add releases/.gdignore and tighten .gitignore so Godot stops warning 'Detected another project.godot at res://releases'. The releases/ directory has its own placeholder project.godot which Godot would otherwise flag at every editor open. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -1,38 +1,24 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=3 format=2]
|
||||
[gd_resource type="ShaderMaterial" format=3]
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorConstant" id=1]
|
||||
constant = Color( 0.117188, 0.0709553, 0.0709553, 1 )
|
||||
|
||||
[sub_resource type="VisualShader" id=2]
|
||||
[sub_resource type="Shader" id="Shader_6qnue"]
|
||||
code = "shader_type spatial;
|
||||
render_mode specular_schlick_ggx;
|
||||
render_mode blend_mix, depth_draw_opaque, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx;
|
||||
|
||||
|
||||
|
||||
|
||||
void vertex() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// Color:3
|
||||
vec3 n_out3p0 = vec3(0.117188, 0.070955, 0.070955);
|
||||
float n_out3p1 = 1.000000;
|
||||
// ColorConstant:3
|
||||
vec4 n_out3p0 = vec4(0.117188, 0.070955, 0.070955, 1.000000);
|
||||
|
||||
|
||||
// Output:0
|
||||
ALBEDO = n_out3p0;
|
||||
ALBEDO = vec3(n_out3p0.xyz);
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
"
|
||||
nodes/fragment/3/node = SubResource( 1 )
|
||||
nodes/fragment/3/position = Vector2( 0, 140 )
|
||||
nodes/fragment/connections = PackedInt32Array( 3, 0, 0, 0 )
|
||||
|
||||
[resource]
|
||||
shader = SubResource( 2 )
|
||||
render_priority = 0
|
||||
shader = SubResource("Shader_6qnue")
|
||||
|
||||
+10
-24
@@ -1,40 +1,26 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=3 format=2]
|
||||
[gd_resource type="ShaderMaterial" format=3]
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorParameter" id=1]
|
||||
uniform_name = "BaseColor"
|
||||
|
||||
[sub_resource type="VisualShader" id=2]
|
||||
[sub_resource type="Shader" id="Shader_iwepy"]
|
||||
code = "shader_type spatial;
|
||||
render_mode specular_schlick_ggx;
|
||||
render_mode blend_mix, depth_draw_opaque, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx;
|
||||
|
||||
uniform vec4 BaseColor : source_color;
|
||||
|
||||
|
||||
|
||||
void vertex() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// ColorUniform:5
|
||||
vec3 n_out5p0 = BaseColor.rgb;
|
||||
float n_out5p1 = BaseColor.a;
|
||||
// ColorParameter:5
|
||||
vec4 n_out5p0 = BaseColor;
|
||||
|
||||
|
||||
// Output:0
|
||||
ALBEDO = n_out5p0;
|
||||
ALBEDO = vec3(n_out5p0.xyz);
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
"
|
||||
nodes/fragment/5/node = SubResource( 1 )
|
||||
nodes/fragment/5/position = Vector2( 180, 140 )
|
||||
nodes/fragment/connections = PackedInt32Array( 5, 0, 0, 0 )
|
||||
|
||||
[resource]
|
||||
shader = SubResource( 2 )
|
||||
shader_param/BaseColor = Color( 0.313726, 1, 0, 1 )
|
||||
render_priority = 0
|
||||
shader = SubResource("Shader_iwepy")
|
||||
shader_parameter/BaseColor = Color(0.313726, 1, 0, 1)
|
||||
|
||||
+10
-24
@@ -1,40 +1,26 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=3 format=2]
|
||||
[gd_resource type="ShaderMaterial" format=3]
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorParameter" id=1]
|
||||
uniform_name = "BaseColor"
|
||||
|
||||
[sub_resource type="VisualShader" id=2]
|
||||
[sub_resource type="Shader" id="Shader_b630w"]
|
||||
code = "shader_type spatial;
|
||||
render_mode specular_schlick_ggx;
|
||||
render_mode blend_mix, depth_draw_opaque, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx;
|
||||
|
||||
uniform vec4 BaseColor : source_color;
|
||||
|
||||
|
||||
|
||||
void vertex() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// ColorUniform:5
|
||||
vec3 n_out5p0 = BaseColor.rgb;
|
||||
float n_out5p1 = BaseColor.a;
|
||||
// ColorParameter:5
|
||||
vec4 n_out5p0 = BaseColor;
|
||||
|
||||
|
||||
// Output:0
|
||||
ALBEDO = n_out5p0;
|
||||
ALBEDO = vec3(n_out5p0.xyz);
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
"
|
||||
nodes/fragment/5/node = SubResource( 1 )
|
||||
nodes/fragment/5/position = Vector2( 180, 140 )
|
||||
nodes/fragment/connections = PackedInt32Array( 5, 0, 0, 0 )
|
||||
|
||||
[resource]
|
||||
shader = SubResource( 2 )
|
||||
shader_param/BaseColor = Color( 1, 0, 0, 1 )
|
||||
render_priority = 0
|
||||
shader = SubResource("Shader_b630w")
|
||||
shader_parameter/BaseColor = Color(1, 0, 0, 1)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user