1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-15 13:51:40 +00:00

Change VisualShaderNodeVec4Constant type to vec4

This commit is contained in:
Yuri Rubinsky
2024-07-22 13:15:22 +03:00
committed by Chaosus
parent 33c30b9e63
commit df61dca5ba
3 changed files with 19 additions and 5 deletions

View File

@@ -311,8 +311,8 @@ void VisualShaderGraphPlugin::set_input_port_default_value(VisualShader::Type p_
Vector3 v = p_value; Vector3 v = p_value;
button->set_text(String::num(v.x, 3) + "," + String::num(v.y, 3) + "," + String::num(v.z, 3)); button->set_text(String::num(v.x, 3) + "," + String::num(v.y, 3) + "," + String::num(v.z, 3));
} break; } break;
case Variant::QUATERNION: { case Variant::VECTOR4: {
Quaternion v = p_value; Vector4 v = p_value;
button->set_text(String::num(v.x, 3) + "," + String::num(v.y, 3) + "," + String::num(v.z, 3) + "," + String::num(v.w, 3)); button->set_text(String::num(v.x, 3) + "," + String::num(v.y, 3) + "," + String::num(v.z, 3) + "," + String::num(v.w, 3));
} break; } break;
default: { default: {
@@ -3119,7 +3119,6 @@ void VisualShaderEditor::_edit_port_default_input(Object *p_button, int p_node,
popup_pref_size.width = 320; popup_pref_size.width = 320;
break; break;
case Variant::VECTOR4: case Variant::VECTOR4:
case Variant::QUATERNION:
case Variant::PLANE: case Variant::PLANE:
case Variant::TRANSFORM2D: case Variant::TRANSFORM2D:
case Variant::TRANSFORM3D: case Variant::TRANSFORM3D:
@@ -7533,7 +7532,7 @@ Control *VisualShaderNodePluginDefault::create_editor(const Ref<Resource> &p_par
prop->set_custom_minimum_size(Size2(100 * EDSCALE, 0)); prop->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
} else if (Object::cast_to<EditorPropertyTransform3D>(prop) || Object::cast_to<EditorPropertyVector3>(prop)) { } else if (Object::cast_to<EditorPropertyTransform3D>(prop) || Object::cast_to<EditorPropertyVector3>(prop)) {
prop->set_custom_minimum_size(Size2(250 * EDSCALE, 0)); prop->set_custom_minimum_size(Size2(250 * EDSCALE, 0));
} else if (Object::cast_to<EditorPropertyQuaternion>(prop)) { } else if (Object::cast_to<EditorPropertyVector4>(prop)) {
prop->set_custom_minimum_size(Size2(320 * EDSCALE, 0)); prop->set_custom_minimum_size(Size2(320 * EDSCALE, 0));
} else if (Object::cast_to<EditorPropertyFloat>(prop)) { } else if (Object::cast_to<EditorPropertyFloat>(prop)) {
prop->set_custom_minimum_size(Size2(100 * EDSCALE, 0)); prop->set_custom_minimum_size(Size2(100 * EDSCALE, 0));

View File

@@ -581,9 +581,17 @@ Quaternion VisualShaderNodeVec4Constant::get_constant() const {
return constant; return constant;
} }
void VisualShaderNodeVec4Constant::_set_constant_v4(const Vector4 &p_constant) {
set_constant(Quaternion(p_constant.x, p_constant.y, p_constant.z, p_constant.w));
}
Vector4 VisualShaderNodeVec4Constant::_get_constant_v4() const {
return Vector4(constant.x, constant.y, constant.z, constant.w);
}
Vector<StringName> VisualShaderNodeVec4Constant::get_editable_properties() const { Vector<StringName> VisualShaderNodeVec4Constant::get_editable_properties() const {
Vector<StringName> props; Vector<StringName> props;
props.push_back("constant"); props.push_back("constant_v4");
return props; return props;
} }
@@ -591,7 +599,11 @@ void VisualShaderNodeVec4Constant::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_constant", "constant"), &VisualShaderNodeVec4Constant::set_constant); ClassDB::bind_method(D_METHOD("set_constant", "constant"), &VisualShaderNodeVec4Constant::set_constant);
ClassDB::bind_method(D_METHOD("get_constant"), &VisualShaderNodeVec4Constant::get_constant); ClassDB::bind_method(D_METHOD("get_constant"), &VisualShaderNodeVec4Constant::get_constant);
ClassDB::bind_method(D_METHOD("_set_constant_v4", "constant"), &VisualShaderNodeVec4Constant::_set_constant_v4);
ClassDB::bind_method(D_METHOD("_get_constant_v4"), &VisualShaderNodeVec4Constant::_get_constant_v4);
ADD_PROPERTY(PropertyInfo(Variant::QUATERNION, "constant"), "set_constant", "get_constant"); ADD_PROPERTY(PropertyInfo(Variant::QUATERNION, "constant"), "set_constant", "get_constant");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR4, "constant_v4", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_INTERNAL), "_set_constant_v4", "_get_constant_v4");
} }
VisualShaderNodeVec4Constant::VisualShaderNodeVec4Constant() { VisualShaderNodeVec4Constant::VisualShaderNodeVec4Constant() {

View File

@@ -341,6 +341,9 @@ public:
void set_constant(const Quaternion &p_constant); void set_constant(const Quaternion &p_constant);
Quaternion get_constant() const; Quaternion get_constant() const;
void _set_constant_v4(const Vector4 &p_constant);
Vector4 _get_constant_v4() const;
virtual Vector<StringName> get_editable_properties() const override; virtual Vector<StringName> get_editable_properties() const override;
VisualShaderNodeVec4Constant(); VisualShaderNodeVec4Constant();