Added occlusion culling plane visualization

This commit is contained in:
Doug McDiarmid
2021-05-31 01:38:13 -07:00
parent ddbed2f222
commit 59ab6edaef
14 changed files with 321 additions and 37 deletions
@@ -53,8 +53,12 @@ namespace AZ
editContext->Class<OcclusionCullingPlaneComponentConfig>(
"OcclusionCullingPlaneComponentConfig", "")
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
->ClassElement(AZ::Edit::ClassElements::Group, "Settings")
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
->DataElement(AZ::Edit::UIHandlers::CheckBox, &OcclusionCullingPlaneComponentConfig::m_showVisualization, "Show Visualization", "Show the occlusion culling plane visualization")
->Attribute(AZ::Edit::Attributes::ChangeNotify, Edit::PropertyRefreshLevels::ValuesOnly)
->DataElement(AZ::Edit::UIHandlers::CheckBox, &OcclusionCullingPlaneComponentConfig::m_transparentVisualization, "Transparent Visualization", "Sets the occlusion culling plane visualization as transparent")
->Attribute(AZ::Edit::Attributes::ChangeNotify, Edit::PropertyRefreshLevels::ValuesOnly)
;
}
}
@@ -38,7 +38,9 @@ namespace AZ
{
serializeContext->Class<OcclusionCullingPlaneComponentConfig>()
->Version(0)
;
->Field("ShowVisualization", &OcclusionCullingPlaneComponentConfig::m_showVisualization)
->Field("TransparentVisualization", &OcclusionCullingPlaneComponentConfig::m_transparentVisualization)
;
}
}
@@ -98,6 +100,10 @@ namespace AZ
// add this occlusion plane to the feature processor
const AZ::Transform& transform = m_transformInterface->GetWorldTM();
m_handle = m_featureProcessor->AddOcclusionCullingPlane(transform);
// set visualization
m_featureProcessor->ShowVisualization(m_handle, m_configuration.m_showVisualization);
m_featureProcessor->SetTransparentVisualization(m_handle, m_configuration.m_transparentVisualization);
}
void OcclusionCullingPlaneComponentController::Deactivate()
@@ -32,6 +32,9 @@ namespace AZ
AZ_CLASS_ALLOCATOR(OcclusionCullingPlaneComponentConfig, SystemAllocator, 0);
static void Reflect(AZ::ReflectContext* context);
bool m_showVisualization = true;
bool m_transparentVisualization = false;
OcclusionCullingPlaneComponentConfig() = default;
};