diff --git a/Source/Engine/Core/Math/Transform.cpp b/Source/Engine/Core/Math/Transform.cpp
index 8c9a45a0d..627ca4682 100644
--- a/Source/Engine/Core/Math/Transform.cpp
+++ b/Source/Engine/Core/Math/Transform.cpp
@@ -150,11 +150,18 @@ void Transform::LocalToWorldVector(const Vector3& vector, Vector3& result) const
Vector3::Transform(tmp, Orientation, result);
}
-void Transform::LocalToWorld(const Vector3& point, Vector3& result) const
+void Transform::LocalToWorld(const Float3& point, Float3& result) const
{
- Vector3 tmp = point * Scale;
- Vector3::Transform(tmp, Orientation, tmp);
- Vector3::Add(tmp, Translation, result);
+ Float3 tmp = point * Scale;
+ Float3::Transform(tmp, Orientation, tmp);
+ Float3::Add(tmp, Translation, result);
+}
+
+void Transform::LocalToWorld(const Double3& point, Double3& result) const
+{
+ Double3 tmp = point * Scale;
+ Double3::Transform(tmp, Orientation, tmp);
+ Double3::Add(tmp, Translation, result);
}
void Transform::WorldToLocal(const Transform& other, Transform& result) const
diff --git a/Source/Engine/Core/Math/Transform.h b/Source/Engine/Core/Math/Transform.h
index f7590cd78..e5d1c07bc 100644
--- a/Source/Engine/Core/Math/Transform.h
+++ b/Source/Engine/Core/Math/Transform.h
@@ -219,7 +219,14 @@ public:
///
/// The local space point.
/// The world space point.
- void LocalToWorld(const Vector3& point, Vector3& result) const;
+ void LocalToWorld(const Float3& point, Float3& result) const;
+
+ ///
+ /// Performs transformation of the given point in local space to the world space of this transform.
+ ///
+ /// The local space point.
+ /// The world space point.
+ void LocalToWorld(const Double3& point, Double3& result) const;
///
/// Performs transformation of the given transform in local space to the world space of this transform.
diff --git a/Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp b/Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp
index 850aafc02..5093d3ea1 100644
--- a/Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp
+++ b/Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp
@@ -78,7 +78,7 @@ void ForwardShadingFeature::Bind(MaterialShader::BindParameters& params, SpanEnvironmentProbes.Count(); i++)
{
const RenderEnvironmentProbeData& probe = cache->EnvironmentProbes.Get()[i];
- const float sphereCullDistance = objectBounds.Radius + probe.Radius;
+ const float sphereCullDistance = (float)objectBounds.Radius + probe.Radius;
const float distanceSq = Float3::DistanceSquared(probe.Position, objectBounds.Center);
if (distanceSq <= sphereCullDistance * sphereCullDistance && distanceSq < minDistanceSq)
{