|
@@ -155,7 +155,7 @@ namespace AtomSampleViewer
|
|
|
constexpr const char* SampleSetting = "/O3DE/AtomSampleViewer/Sample";
|
|
|
}
|
|
|
|
|
|
- bool IsValidNumMSAASamples(int numSamples)
|
|
|
+ bool IsValidNumMSAASamples(int16_t numSamples)
|
|
|
{
|
|
|
return (numSamples == 1) || (numSamples == 2) || (numSamples == 4) || (numSamples == 8);
|
|
|
}
|
|
@@ -403,8 +403,6 @@ namespace AtomSampleViewer
|
|
|
AZ_Assert(passSystem, "Cannot get the pass system.");
|
|
|
|
|
|
passSystem->AddPassCreator(Name("RayTracingAmbientOcclusionPass"), &AZ::Render::RayTracingAmbientOcclusionPass::Create);
|
|
|
-
|
|
|
- m_numMSAASamples = GetDefaultNumMSAASamples();
|
|
|
}
|
|
|
|
|
|
void SampleComponentManager::ActivateInternal()
|
|
@@ -1299,16 +1297,31 @@ namespace AtomSampleViewer
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- void SampleComponentManager::SetNumMSAASamples(int numMSAASamples)
|
|
|
+ void SampleComponentManager::SetNumMSAASamples(int16_t numMSAASamples)
|
|
|
{
|
|
|
AZ_Assert(IsValidNumMSAASamples(numMSAASamples), "Invalid MSAA sample setting");
|
|
|
|
|
|
- m_numMSAASamples = numMSAASamples;
|
|
|
+ m_numMsaaSamples = numMSAASamples;
|
|
|
+ }
|
|
|
+
|
|
|
+ int16_t SampleComponentManager::GetNumMSAASamples()
|
|
|
+ {
|
|
|
+ return m_numMsaaSamples;
|
|
|
+ }
|
|
|
+
|
|
|
+ void SampleComponentManager::SetDefaultNumMSAASamples(int16_t defaultNumMsaaSamples)
|
|
|
+ {
|
|
|
+ m_defaultNumMsaaSamples = defaultNumMsaaSamples;
|
|
|
+ }
|
|
|
+
|
|
|
+ int16_t SampleComponentManager::GetDefaultNumMSAASamples()
|
|
|
+ {
|
|
|
+ return m_defaultNumMsaaSamples;
|
|
|
}
|
|
|
|
|
|
void SampleComponentManager::ResetNumMSAASamples()
|
|
|
{
|
|
|
- m_numMSAASamples = GetDefaultNumMSAASamples();
|
|
|
+ m_numMsaaSamples = m_defaultNumMsaaSamples;
|
|
|
}
|
|
|
|
|
|
void SampleComponentManager::ResetRPIScene()
|
|
@@ -1727,8 +1740,8 @@ namespace AtomSampleViewer
|
|
|
RPI::RPISystemInterface::Get()->RegisterScene(m_rpiScene);
|
|
|
|
|
|
// set pipeline MSAA samples
|
|
|
- AZ_Assert(IsValidNumMSAASamples(m_numMSAASamples), "Invalid MSAA sample setting");
|
|
|
- const bool isNonMsaaPipeline = (m_numMSAASamples == 1);
|
|
|
+ AZ_Assert(IsValidNumMSAASamples(m_numMsaaSamples), "Invalid MSAA sample setting");
|
|
|
+ const bool isNonMsaaPipeline = (m_numMsaaSamples == 1);
|
|
|
const char* supervariantName = isNonMsaaPipeline ? AZ::RPI::NoMsaaSupervariantName : "";
|
|
|
AZ::RPI::ShaderSystemInterface::Get()->SetSupervariantName(AZ::Name(supervariantName));
|
|
|
|
|
@@ -1744,7 +1757,7 @@ namespace AtomSampleViewer
|
|
|
pipelineDesc.m_materialPipelineTag = GetMaterialPipelineName();
|
|
|
pipelineDesc.m_mainViewTagName = "MainCamera";
|
|
|
pipelineDesc.m_allowModification = true;
|
|
|
- pipelineDesc.m_renderSettings.m_multisampleState.m_samples = static_cast<uint16_t>(m_numMSAASamples);
|
|
|
+ pipelineDesc.m_renderSettings.m_multisampleState.m_samples = m_numMsaaSamples;
|
|
|
|
|
|
m_renderPipeline = RPI::RenderPipeline::CreateRenderPipelineForWindow(pipelineDesc, *m_windowContext.get());
|
|
|
m_rpiScene->AddRenderPipeline(m_renderPipeline);
|
|
@@ -1773,7 +1786,7 @@ namespace AtomSampleViewer
|
|
|
|
|
|
RPI::RenderPipelineDescriptor xrPipelineDesc;
|
|
|
xrPipelineDesc.m_mainViewTagName = "MainCamera";
|
|
|
- xrPipelineDesc.m_renderSettings.m_multisampleState.m_samples = static_cast<uint16_t>(m_numMSAASamples);
|
|
|
+ xrPipelineDesc.m_renderSettings.m_multisampleState.m_samples = m_numMsaaSamples;
|
|
|
|
|
|
// Build the pipeline for left eye
|
|
|
xrPipelineDesc.m_name = "RPISamplePipelineXRLeft";
|