3
0

Module.cpp 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <AzCore/Memory/SystemAllocator.h>
  9. #include <AzCore/RTTI/RTTI.h>
  10. #include <AzCore/Module/Module.h>
  11. #include <CommonFeaturesSystemComponent.h>
  12. #include <CoreLights/AreaLightComponent.h>
  13. #include <CoreLights/DirectionalLightComponent.h>
  14. #include <CubeMapCapture/CubeMapCaptureComponent.h>
  15. #include <Debug/RenderDebugComponent.h>
  16. #include <Decals/DecalComponent.h>
  17. #include <Grid/GridComponent.h>
  18. #include <ImageBasedLights/ImageBasedLightComponent.h>
  19. #include <Material/MaterialComponent.h>
  20. #include <Mesh/MeshComponent.h>
  21. #include <ReflectionProbe/ReflectionProbeComponent.h>
  22. #include <SpecularReflections/SpecularReflectionsComponent.h>
  23. #include <OcclusionCullingPlane/OcclusionCullingPlaneComponent.h>
  24. #include <PostProcess/PostFxLayerComponent.h>
  25. #include <PostProcess/Bloom/BloomComponent.h>
  26. #include <PostProcess/ColorGrading/HDRColorGradingComponent.h>
  27. #include <PostProcess/DepthOfField/DepthOfFieldComponent.h>
  28. #include <PostProcess/DisplayMapper/DisplayMapperComponent.h>
  29. #include <PostProcess/ExposureControl/ExposureControlComponent.h>
  30. #include <PostProcess/Ssao/SsaoComponent.h>
  31. #include <PostProcess/LookModification/LookModificationComponent.h>
  32. #include <PostProcess/RadiusWeightModifier/RadiusWeightModifierComponent.h>
  33. #include <PostProcess/ShapeWeightModifier/ShapeWeightModifierComponent.h>
  34. #include <PostProcess/GradientWeightModifier/GradientWeightModifierComponent.h>
  35. #include <PostProcess/ChromaticAberration/ChromaticAberrationComponent.h>
  36. #include <ScreenSpace/DeferredFogComponent.h>
  37. #include <SkyAtmosphere/SkyAtmosphereComponent.h>
  38. #include <SkyBox/HDRiSkyboxComponent.h>
  39. #include <SkyBox/PhysicalSkyComponent.h>
  40. #include <Scripting/EntityReferenceComponent.h>
  41. #include <SurfaceData/SurfaceDataMeshComponent.h>
  42. #include <Animation/AttachmentComponent.h>
  43. #ifdef ATOMLYINTEGRATION_FEATURE_COMMON_EDITOR
  44. #include <EditorCommonFeaturesSystemComponent.h>
  45. #include <PostProcess/EditorPostFxSystemComponent.h>
  46. #include <CoreLights/EditorAreaLightComponent.h>
  47. #include <CoreLights/EditorDirectionalLightComponent.h>
  48. #include <CubeMapCapture/EditorCubeMapCaptureComponent.h>
  49. #include <Debug/RenderDebugEditorComponent.h>
  50. #include <Decals/EditorDecalComponent.h>
  51. #include <Grid/EditorGridComponent.h>
  52. #include <ImageBasedLights/EditorImageBasedLightComponent.h>
  53. #include <Material/EditorMaterialComponent.h>
  54. #include <Material/EditorMaterialSystemComponent.h>
  55. #include <Mesh/EditorMeshComponent.h>
  56. #include <Mesh/EditorMeshSystemComponent.h>
  57. #include <ReflectionProbe/EditorReflectionProbeComponent.h>
  58. #include <SpecularReflections/EditorSpecularReflectionsComponent.h>
  59. #include <OcclusionCullingPlane/EditorOcclusionCullingPlaneComponent.h>
  60. #include <PostProcess/EditorPostFxLayerComponent.h>
  61. #include <PostProcess/Bloom/EditorBloomComponent.h>
  62. #include <PostProcess/ColorGrading/EditorHDRColorGradingComponent.h>
  63. #include <PostProcess/DepthOfField/EditorDepthOfFieldComponent.h>
  64. #include <PostProcess/DisplayMapper/EditorDisplayMapperComponent.h>
  65. #include <PostProcess/ExposureControl/EditorExposureControlComponent.h>
  66. #include <PostProcess/Ssao/EditorSsaoComponent.h>
  67. #include <PostProcess/LookModification/EditorLookModificationComponent.h>
  68. #include <PostProcess/RadiusWeightModifier/EditorRadiusWeightModifierComponent.h>
  69. #include <PostProcess/ShapeWeightModifier/EditorShapeWeightModifierComponent.h>
  70. #include <PostProcess/GradientWeightModifier/EditorGradientWeightModifierComponent.h>
  71. #include <PostProcess/ChromaticAberration/EditorChromaticAberrationComponent.h>
  72. #include <ScreenSpace/EditorDeferredFogComponent.h>
  73. #include <SkyAtmosphere/EditorSkyAtmosphereComponent.h>
  74. #include <SkyBox/EditorHDRiSkyboxComponent.h>
  75. #include <SkyBox/EditorPhysicalSkyComponent.h>
  76. #include <Scripting/EditorEntityReferenceComponent.h>
  77. #include <SurfaceData/EditorSurfaceDataMeshComponent.h>
  78. #include <Animation/EditorAttachmentComponent.h>
  79. #endif
  80. namespace AZ
  81. {
  82. namespace Render
  83. {
  84. class AtomLyIntegrationCommonFeaturesModule
  85. : public AZ::Module
  86. {
  87. public:
  88. AZ_RTTI(AtomLyIntegrationCommonFeaturesModule, "{E6FF4862-9355-4B23-AE00-B936F0C6E6C9}", AZ::Module);
  89. AZ_CLASS_ALLOCATOR(AtomLyIntegrationCommonFeaturesModule, AZ::SystemAllocator);
  90. AtomLyIntegrationCommonFeaturesModule()
  91. : AZ::Module()
  92. {
  93. m_descriptors.insert(m_descriptors.end(), {
  94. AtomLyIntegrationCommonFeaturesSystemComponent::CreateDescriptor(),
  95. AreaLightComponent::CreateDescriptor(),
  96. DecalComponent::CreateDescriptor(),
  97. DirectionalLightComponent::CreateDescriptor(),
  98. BloomComponent::CreateDescriptor(),
  99. HDRColorGradingComponent::CreateDescriptor(),
  100. DisplayMapperComponent::CreateDescriptor(),
  101. DepthOfFieldComponent::CreateDescriptor(),
  102. ExposureControlComponent::CreateDescriptor(),
  103. SsaoComponent::CreateDescriptor(),
  104. LookModificationComponent::CreateDescriptor(),
  105. GridComponent::CreateDescriptor(),
  106. HDRiSkyboxComponent::CreateDescriptor(),
  107. SkyAtmosphereComponent::CreateDescriptor(),
  108. ImageBasedLightComponent::CreateDescriptor(),
  109. MaterialComponent::CreateDescriptor(),
  110. MeshComponent::CreateDescriptor(),
  111. PhysicalSkyComponent::CreateDescriptor(),
  112. PostFxLayerComponent::CreateDescriptor(),
  113. ReflectionProbeComponent::CreateDescriptor(),
  114. SpecularReflectionsComponent::CreateDescriptor(),
  115. RenderDebugComponent::CreateDescriptor(),
  116. RadiusWeightModifierComponent::CreateDescriptor(),
  117. ShapeWeightModifierComponent::CreateDescriptor(),
  118. EntityReferenceComponent::CreateDescriptor(),
  119. GradientWeightModifierComponent::CreateDescriptor(),
  120. DeferredFogComponent::CreateDescriptor(),
  121. SurfaceData::SurfaceDataMeshComponent::CreateDescriptor(),
  122. AttachmentComponent::CreateDescriptor(),
  123. OcclusionCullingPlaneComponent::CreateDescriptor(),
  124. ChromaticAberrationComponent::CreateDescriptor(),
  125. CubeMapCaptureComponent::CreateDescriptor(),
  126. #ifdef ATOMLYINTEGRATION_FEATURE_COMMON_EDITOR
  127. EditorAreaLightComponent::CreateDescriptor(),
  128. EditorCommonFeaturesSystemComponent::CreateDescriptor(),
  129. EditorPostFxSystemComponent::CreateDescriptor(),
  130. EditorDecalComponent::CreateDescriptor(),
  131. EditorDirectionalLightComponent::CreateDescriptor(),
  132. EditorBloomComponent::CreateDescriptor(),
  133. EditorHDRColorGradingComponent::CreateDescriptor(),
  134. EditorDepthOfFieldComponent::CreateDescriptor(),
  135. EditorDisplayMapperComponent::CreateDescriptor(),
  136. EditorExposureControlComponent::CreateDescriptor(),
  137. EditorSsaoComponent::CreateDescriptor(),
  138. EditorLookModificationComponent::CreateDescriptor(),
  139. EditorGridComponent::CreateDescriptor(),
  140. EditorHDRiSkyboxComponent::CreateDescriptor(),
  141. EditorSkyAtmosphereComponent::CreateDescriptor(),
  142. EditorImageBasedLightComponent::CreateDescriptor(),
  143. EditorMaterialComponent::CreateDescriptor(),
  144. EditorMaterialSystemComponent::CreateDescriptor(),
  145. EditorMeshSystemComponent::CreateDescriptor(),
  146. EditorMeshComponent::CreateDescriptor(),
  147. EditorPhysicalSkyComponent::CreateDescriptor(),
  148. EditorPostFxLayerComponent::CreateDescriptor(),
  149. EditorReflectionProbeComponent::CreateDescriptor(),
  150. EditorSpecularReflectionsComponent::CreateDescriptor(),
  151. RenderDebugEditorComponent::CreateDescriptor(),
  152. EditorRadiusWeightModifierComponent::CreateDescriptor(),
  153. EditorShapeWeightModifierComponent::CreateDescriptor(),
  154. EditorEntityReferenceComponent::CreateDescriptor(),
  155. EditorGradientWeightModifierComponent::CreateDescriptor(),
  156. EditorDeferredFogComponent::CreateDescriptor(),
  157. SurfaceData::EditorSurfaceDataMeshComponent::CreateDescriptor(),
  158. EditorAttachmentComponent::CreateDescriptor(),
  159. EditorOcclusionCullingPlaneComponent::CreateDescriptor(),
  160. EditorChromaticAberrationComponent::CreateDescriptor(),
  161. EditorCubeMapCaptureComponent::CreateDescriptor(),
  162. #endif
  163. });
  164. }
  165. AZ::ComponentTypeList GetRequiredSystemComponents() const override
  166. {
  167. return AZ::ComponentTypeList{
  168. azrtti_typeid<AtomLyIntegrationCommonFeaturesSystemComponent>(),
  169. #ifdef ATOMLYINTEGRATION_FEATURE_COMMON_EDITOR
  170. azrtti_typeid<EditorMaterialSystemComponent>(),
  171. azrtti_typeid<EditorMeshSystemComponent>(),
  172. azrtti_typeid<EditorCommonFeaturesSystemComponent>(),
  173. azrtti_typeid<EditorPostFxSystemComponent>(),
  174. #endif
  175. };
  176. }
  177. };
  178. } // namespace Render
  179. } // namespace AZ
  180. // DO NOT MODIFY THIS LINE UNLESS YOU RENAME THE GEM
  181. // The first parameter should be GemName_GemIdLower
  182. // The second should be the fully qualified name of the class above
  183. AZ_DECLARE_MODULE_CLASS(Gem_AtomLyIntegration_CommonFeatures, AZ::Render::AtomLyIntegrationCommonFeaturesModule)