/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace AtomSampleViewer { class Module final : public AZ::Module { public: AZ_CLASS_ALLOCATOR(Module, AZ::SystemAllocator, 0); AZ_RTTI(Module, "{8FEB7E9B-A5F7-4917-A1DE-974DE1FA7F1E}", AZ::Module); Module() { m_descriptors.insert(m_descriptors.end(), { AtomSampleViewerSystemComponent::CreateDescriptor(), SampleComponentManager::CreateDescriptor(), }); // RHI Samples m_descriptors.insert(m_descriptors.end(), { AlphaToCoverageExampleComponent::CreateDescriptor(), AsyncComputeExampleComponent::CreateDescriptor(), BindlessPrototypeExampleComponent::CreateDescriptor(), ComputeExampleComponent::CreateDescriptor(), CopyQueueComponent::CreateDescriptor(), DualSourceBlendingComponent::CreateDescriptor(), IndirectRenderingExampleComponent::CreateDescriptor(), InputAssemblyExampleComponent::CreateDescriptor(), SubpassExampleComponent::CreateDescriptor(), MRTExampleComponent::CreateDescriptor(), MSAAExampleComponent::CreateDescriptor(), MultiThreadComponent::CreateDescriptor(), MultipleViewsComponent::CreateDescriptor(), MultiViewportSwapchainComponent::CreateDescriptor(), QueryExampleComponent::CreateDescriptor(), StencilExampleComponent::CreateDescriptor(), SwapchainExampleComponent::CreateDescriptor(), SphericalHarmonicsExampleComponent::CreateDescriptor(), Texture3dExampleComponent::CreateDescriptor(), TextureArrayExampleComponent::CreateDescriptor(), TextureExampleComponent::CreateDescriptor(), TextureMapExampleComponent::CreateDescriptor(), TriangleExampleComponent::CreateDescriptor(), TrianglesConstantBufferExampleComponent::CreateDescriptor(), RayTracingExampleComponent::CreateDescriptor(), MatrixAlignmentTestExampleComponent::CreateDescriptor() }); // RPI Samples m_descriptors.insert(m_descriptors.end(), { AreaLightExampleComponent::CreateDescriptor(), AssetLoadTestComponent::CreateDescriptor(), BakedShaderVariantExampleComponent::CreateDescriptor(), SponzaBenchmarkComponent::CreateDescriptor(), BloomExampleComponent::CreateDescriptor(), CheckerboardExampleComponent::CreateDescriptor(), CullingAndLodExampleComponent::CreateDescriptor(), MultiRenderPipelineExampleComponent::CreateDescriptor(), MultiSceneExampleComponent::CreateDescriptor(), MultiViewSingleSceneAuxGeomExampleComponent::CreateDescriptor(), DecalExampleComponent::CreateDescriptor(), DepthOfFieldExampleComponent::CreateDescriptor(), DynamicMaterialTestComponent::CreateDescriptor(), MaterialHotReloadTestComponent::CreateDescriptor(), ExposureExampleComponent::CreateDescriptor(), MeshExampleComponent::CreateDescriptor(), DynamicDrawExampleComponent::CreateDescriptor(), SceneReloadSoakTestComponent::CreateDescriptor(), ShadingExampleComponent::CreateDescriptor(), ShadowExampleComponent::CreateDescriptor(), ShadowedSponzaExampleComponent::CreateDescriptor(), SkinnedMeshExampleComponent::CreateDescriptor(), SsaoExampleComponent::CreateDescriptor(), LightCullingExampleComponent::CreateDescriptor(), StreamingImageExampleComponent::CreateDescriptor(), AuxGeomExampleComponent::CreateDescriptor(), MSAA_RPI_ExampleComponent::CreateDescriptor(), RootConstantsExampleComponent::CreateDescriptor(), TonemappingExampleComponent::CreateDescriptor(), TransparencyExampleComponent::CreateDescriptor(), ParallaxMappingExampleComponent::CreateDescriptor(), DiffuseGIExampleComponent::CreateDescriptor(), SSRExampleComponent::CreateDescriptor(), ShaderReloadTestComponent::CreateDescriptor(), }); } ~Module() override = default; AZ::ComponentTypeList GetRequiredSystemComponents() const override { AZ::ComponentTypeList requiredComponents; requiredComponents = { azrtti_typeid(), azrtti_typeid(), azrtti_typeid() }; return requiredComponents; } }; } // namespace AtomSampleViewer // DO NOT MODIFY THIS LINE UNLESS YOU RENAME THE GEM // The first parameter should be GemName_GemIdLower // The second should be the fully qualified name of the class above AZ_DECLARE_MODULE_CLASS(Gem_AtomSampleViewer, AtomSampleViewer::Module)