Geometry Nodes: Implicit conversion change from distance to average

Use average instead of distance when converting from float3/float2 to float. This matches behaviour of shader nodes.

See: https://developer.blender.org/T86454

Reviewed By: JacquesLucke

Differential Revision: https://developer.blender.org/D10684
This commit is contained in:
Charlie Jolly 2021-03-16 17:03:56 +00:00 committed by Charlie Jolly
parent 04e1feb830
commit f8497caf59
1 changed files with 4 additions and 4 deletions

View File

@ -171,9 +171,9 @@ static DataTypeConversions create_implicit_conversions()
add_implicit_conversion<float2, float3>(
conversions, "float2 to float3", [](float2 a) { return float3(a.x, a.y, 0.0f); });
add_implicit_conversion<float2, float>(
conversions, "float2 to float", [](float2 a) { return a.length(); });
conversions, "float2 to float", [](float2 a) { return (a.x + a.y) / 2.0f; });
add_implicit_conversion<float2, int32_t>(
conversions, "float2 to int32_t", [](float2 a) { return (int32_t)a.length(); });
conversions, "float2 to int32_t", [](float2 a) { return (int32_t)((a.x + a.y) / 2.0f); });
add_implicit_conversion<float2, bool>(
conversions, "float2 to bool", [](float2 a) { return !is_zero_v2(a); });
add_implicit_conversion<float2, Color4f>(
@ -182,9 +182,9 @@ static DataTypeConversions create_implicit_conversions()
add_implicit_conversion<float3, bool>(
conversions, "float3 to boolean", [](float3 a) { return !is_zero_v3(a); });
add_implicit_conversion<float3, float>(
conversions, "Vector Length", [](float3 a) { return a.length(); });
conversions, "float3 to float", [](float3 a) { return (a.x + a.y + a.z) / 3.0f; });
add_implicit_conversion<float3, int32_t>(
conversions, "float3 to int32_t", [](float3 a) { return (int)a.length(); });
conversions, "float3 to int32_t", [](float3 a) { return (int)((a.x + a.y + a.z) / 3.0f); });
add_implicit_conversion<float3, float2>(conversions);
add_implicit_conversion<float3, Color4f>(
conversions, "float3 to Color4f", [](float3 a) { return Color4f(a.x, a.y, a.z, 1.0f); });