Merge branch 'development' into Atom/dmcdiar/ATOM-5702
This commit is contained in:
@@ -304,6 +304,30 @@ namespace AZ
|
||||
}
|
||||
}
|
||||
|
||||
void MeshFeatureProcessor::SetLocalAabb(const MeshHandle& meshHandle, const AZ::Aabb& localAabb)
|
||||
{
|
||||
if (meshHandle.IsValid())
|
||||
{
|
||||
MeshDataInstance& meshData = *meshHandle;
|
||||
meshData.m_aabb = localAabb;
|
||||
meshData.m_cullBoundsNeedsUpdate = true;
|
||||
meshData.m_objectSrgNeedsUpdate = true;
|
||||
}
|
||||
};
|
||||
|
||||
AZ::Aabb MeshFeatureProcessor::GetLocalAabb(const MeshHandle& meshHandle) const
|
||||
{
|
||||
if (meshHandle.IsValid())
|
||||
{
|
||||
return meshHandle->m_aabb;
|
||||
}
|
||||
else
|
||||
{
|
||||
AZ_Assert(false, "Invalid mesh handle");
|
||||
return Aabb::CreateNull();
|
||||
}
|
||||
}
|
||||
|
||||
Transform MeshFeatureProcessor::GetTransform(const MeshHandle& meshHandle)
|
||||
{
|
||||
if (meshHandle.IsValid())
|
||||
@@ -603,6 +627,8 @@ namespace AZ
|
||||
SetRayTracingData();
|
||||
}
|
||||
|
||||
m_aabb = model->GetModelAsset()->GetAabb();
|
||||
|
||||
m_cullableNeedsRebuild = true;
|
||||
m_cullBoundsNeedsUpdate = true;
|
||||
m_objectSrgNeedsUpdate = true;
|
||||
@@ -996,7 +1022,7 @@ namespace AZ
|
||||
RPI::Cullable::CullData& cullData = m_cullable.m_cullData;
|
||||
RPI::Cullable::LodData& lodData = m_cullable.m_lodData;
|
||||
|
||||
const Aabb& localAabb = m_model->GetAabb();
|
||||
const Aabb& localAabb = m_aabb;
|
||||
lodData.m_lodSelectionRadius = 0.5f*localAabb.GetExtents().GetMaxElement();
|
||||
|
||||
const size_t modelLodCount = m_model->GetLodCount();
|
||||
@@ -1077,7 +1103,7 @@ namespace AZ
|
||||
|
||||
Vector3 center;
|
||||
float radius;
|
||||
Aabb localAabb = m_model->GetAabb();
|
||||
Aabb localAabb = m_aabb;
|
||||
localAabb.MultiplyByScale(nonUniformScale);
|
||||
|
||||
localAabb.GetTransformedAabb(localToWorld).GetAsSphere(center, radius);
|
||||
|
||||
Reference in New Issue
Block a user