Skip to content

Commit 6c6e744

Browse files
committed
Merge pull request #94616 from Chaosus/vs_fix_vec4_constant
Change `VisualShaderNodeVec4Constant` type to vec4
2 parents efae48a + df61dca commit 6c6e744

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

editor/plugins/visual_shader_editor_plugin.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -315,8 +315,8 @@ void VisualShaderGraphPlugin::set_input_port_default_value(VisualShader::Type p_
315315
Vector3 v = p_value;
316316
button->set_text(String::num(v.x, 3) + "," + String::num(v.y, 3) + "," + String::num(v.z, 3));
317317
} break;
318-
case Variant::QUATERNION: {
319-
Quaternion v = p_value;
318+
case Variant::VECTOR4: {
319+
Vector4 v = p_value;
320320
button->set_text(String::num(v.x, 3) + "," + String::num(v.y, 3) + "," + String::num(v.z, 3) + "," + String::num(v.w, 3));
321321
} break;
322322
default: {
@@ -3295,7 +3295,6 @@ void VisualShaderEditor::_edit_port_default_input(Object *p_button, int p_node,
32953295
popup_pref_size.width = 320;
32963296
break;
32973297
case Variant::VECTOR4:
3298-
case Variant::QUATERNION:
32993298
case Variant::PLANE:
33003299
case Variant::TRANSFORM2D:
33013300
case Variant::TRANSFORM3D:
@@ -7965,7 +7964,7 @@ Control *VisualShaderNodePluginDefault::create_editor(const Ref<Resource> &p_par
79657964
prop->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
79667965
} else if (Object::cast_to<EditorPropertyTransform3D>(prop) || Object::cast_to<EditorPropertyVector3>(prop)) {
79677966
prop->set_custom_minimum_size(Size2(250 * EDSCALE, 0));
7968-
} else if (Object::cast_to<EditorPropertyQuaternion>(prop)) {
7967+
} else if (Object::cast_to<EditorPropertyVector4>(prop)) {
79697968
prop->set_custom_minimum_size(Size2(320 * EDSCALE, 0));
79707969
} else if (Object::cast_to<EditorPropertyFloat>(prop)) {
79717970
prop->set_custom_minimum_size(Size2(100 * EDSCALE, 0));

scene/resources/visual_shader_nodes.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -580,17 +580,29 @@ Quaternion VisualShaderNodeVec4Constant::get_constant() const {
580580
return constant;
581581
}
582582

583+
void VisualShaderNodeVec4Constant::_set_constant_v4(const Vector4 &p_constant) {
584+
set_constant(Quaternion(p_constant.x, p_constant.y, p_constant.z, p_constant.w));
585+
}
586+
587+
Vector4 VisualShaderNodeVec4Constant::_get_constant_v4() const {
588+
return Vector4(constant.x, constant.y, constant.z, constant.w);
589+
}
590+
583591
Vector<StringName> VisualShaderNodeVec4Constant::get_editable_properties() const {
584592
Vector<StringName> props;
585-
props.push_back("constant");
593+
props.push_back("constant_v4");
586594
return props;
587595
}
588596

589597
void VisualShaderNodeVec4Constant::_bind_methods() {
590598
ClassDB::bind_method(D_METHOD("set_constant", "constant"), &VisualShaderNodeVec4Constant::set_constant);
591599
ClassDB::bind_method(D_METHOD("get_constant"), &VisualShaderNodeVec4Constant::get_constant);
592600

601+
ClassDB::bind_method(D_METHOD("_set_constant_v4", "constant"), &VisualShaderNodeVec4Constant::_set_constant_v4);
602+
ClassDB::bind_method(D_METHOD("_get_constant_v4"), &VisualShaderNodeVec4Constant::_get_constant_v4);
603+
593604
ADD_PROPERTY(PropertyInfo(Variant::QUATERNION, "constant"), "set_constant", "get_constant");
605+
ADD_PROPERTY(PropertyInfo(Variant::VECTOR4, "constant_v4", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_INTERNAL), "_set_constant_v4", "_get_constant_v4");
594606
}
595607

596608
VisualShaderNodeVec4Constant::VisualShaderNodeVec4Constant() {

scene/resources/visual_shader_nodes.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,9 @@ class VisualShaderNodeVec4Constant : public VisualShaderNodeConstant {
341341
void set_constant(const Quaternion &p_constant);
342342
Quaternion get_constant() const;
343343

344+
void _set_constant_v4(const Vector4 &p_constant);
345+
Vector4 _get_constant_v4() const;
346+
344347
virtual Vector<StringName> get_editable_properties() const override;
345348

346349
VisualShaderNodeVec4Constant();

0 commit comments

Comments
 (0)