3
0

Module.cpp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  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 <PostProcess/PaniniProjection/PaniniProjectionComponent.h>
  37. #include <PostProcess/FilmGrain/FilmGrainComponent.h>
  38. #include <PostProcess/WhiteBalance/WhiteBalanceComponent.h>
  39. #include <PostProcess/Vignette/VignetteComponent.h>
  40. #include <ScreenSpace/DeferredFogComponent.h>
  41. #include <SkyAtmosphere/SkyAtmosphereComponent.h>
  42. #include <SkyBox/HDRiSkyboxComponent.h>
  43. #include <SkyBox/PhysicalSkyComponent.h>
  44. #include <Scripting/EntityReferenceComponent.h>
  45. #include <SurfaceData/SurfaceDataMeshComponent.h>
  46. #include <Animation/AttachmentComponent.h>
  47. #ifdef ATOMLYINTEGRATION_FEATURE_COMMON_EDITOR
  48. #include <EditorCommonFeaturesSystemComponent.h>
  49. #include <PostProcess/EditorPostFxSystemComponent.h>
  50. #include <CoreLights/EditorAreaLightComponent.h>
  51. #include <CoreLights/EditorDirectionalLightComponent.h>
  52. #include <CubeMapCapture/EditorCubeMapCaptureComponent.h>
  53. #include <Debug/RenderDebugEditorComponent.h>
  54. #include <Decals/EditorDecalComponent.h>
  55. #include <Grid/EditorGridComponent.h>
  56. #include <ImageBasedLights/EditorImageBasedLightComponent.h>
  57. #include <Material/EditorMaterialComponent.h>
  58. #include <Material/EditorMaterialSystemComponent.h>
  59. #include <Mesh/EditorMeshComponent.h>
  60. #include <Mesh/EditorMeshSystemComponent.h>
  61. #include <ReflectionProbe/EditorReflectionProbeComponent.h>
  62. #include <SpecularReflections/EditorSpecularReflectionsComponent.h>
  63. #include <OcclusionCullingPlane/EditorOcclusionCullingPlaneComponent.h>
  64. #include <PostProcess/EditorPostFxLayerComponent.h>
  65. #include <PostProcess/Bloom/EditorBloomComponent.h>
  66. #include <PostProcess/ColorGrading/EditorHDRColorGradingComponent.h>
  67. #include <PostProcess/DepthOfField/EditorDepthOfFieldComponent.h>
  68. #include <PostProcess/DisplayMapper/EditorDisplayMapperComponent.h>
  69. #include <PostProcess/ExposureControl/EditorExposureControlComponent.h>
  70. #include <PostProcess/Ssao/EditorSsaoComponent.h>
  71. #include <PostProcess/LookModification/EditorLookModificationComponent.h>
  72. #include <PostProcess/RadiusWeightModifier/EditorRadiusWeightModifierComponent.h>
  73. #include <PostProcess/ShapeWeightModifier/EditorShapeWeightModifierComponent.h>
  74. #include <PostProcess/GradientWeightModifier/EditorGradientWeightModifierComponent.h>
  75. #include <PostProcess/ChromaticAberration/EditorChromaticAberrationComponent.h>
  76. #include <PostProcess/PaniniProjection/EditorPaniniProjectionComponent.h>
  77. #include <PostProcess/FilmGrain/EditorFilmGrainComponent.h>
  78. #include <PostProcess/WhiteBalance/EditorWhiteBalanceComponent.h>
  79. #include <PostProcess/Vignette/EditorVignetteComponent.h>
  80. #include <ScreenSpace/EditorDeferredFogComponent.h>
  81. #include <SkyAtmosphere/EditorSkyAtmosphereComponent.h>
  82. #include <SkyBox/EditorHDRiSkyboxComponent.h>
  83. #include <SkyBox/EditorPhysicalSkyComponent.h>
  84. #include <Scripting/EditorEntityReferenceComponent.h>
  85. #include <SurfaceData/EditorSurfaceDataMeshComponent.h>
  86. #include <Animation/EditorAttachmentComponent.h>
  87. #endif
  88. namespace AZ
  89. {
  90. namespace Render
  91. {
  92. class AtomLyIntegrationCommonFeaturesModule
  93. : public AZ::Module
  94. {
  95. public:
  96. AZ_RTTI(AtomLyIntegrationCommonFeaturesModule, "{E6FF4862-9355-4B23-AE00-B936F0C6E6C9}", AZ::Module);
  97. AZ_CLASS_ALLOCATOR(AtomLyIntegrationCommonFeaturesModule, AZ::SystemAllocator);
  98. AtomLyIntegrationCommonFeaturesModule()
  99. : AZ::Module()
  100. {
  101. m_descriptors.insert(m_descriptors.end(), {
  102. AtomLyIntegrationCommonFeaturesSystemComponent::CreateDescriptor(),
  103. AreaLightComponent::CreateDescriptor(),
  104. DecalComponent::CreateDescriptor(),
  105. DirectionalLightComponent::CreateDescriptor(),
  106. BloomComponent::CreateDescriptor(),
  107. HDRColorGradingComponent::CreateDescriptor(),
  108. DisplayMapperComponent::CreateDescriptor(),
  109. DepthOfFieldComponent::CreateDescriptor(),
  110. ExposureControlComponent::CreateDescriptor(),
  111. SsaoComponent::CreateDescriptor(),
  112. LookModificationComponent::CreateDescriptor(),
  113. GridComponent::CreateDescriptor(),
  114. HDRiSkyboxComponent::CreateDescriptor(),
  115. SkyAtmosphereComponent::CreateDescriptor(),
  116. ImageBasedLightComponent::CreateDescriptor(),
  117. MaterialComponent::CreateDescriptor(),
  118. MeshComponent::CreateDescriptor(),
  119. PhysicalSkyComponent::CreateDescriptor(),
  120. PostFxLayerComponent::CreateDescriptor(),
  121. ReflectionProbeComponent::CreateDescriptor(),
  122. SpecularReflectionsComponent::CreateDescriptor(),
  123. RenderDebugComponent::CreateDescriptor(),
  124. RadiusWeightModifierComponent::CreateDescriptor(),
  125. ShapeWeightModifierComponent::CreateDescriptor(),
  126. EntityReferenceComponent::CreateDescriptor(),
  127. GradientWeightModifierComponent::CreateDescriptor(),
  128. DeferredFogComponent::CreateDescriptor(),
  129. SurfaceData::SurfaceDataMeshComponent::CreateDescriptor(),
  130. AttachmentComponent::CreateDescriptor(),
  131. OcclusionCullingPlaneComponent::CreateDescriptor(),
  132. ChromaticAberrationComponent::CreateDescriptor(),
  133. PaniniProjectionComponent::CreateDescriptor(),
  134. FilmGrainComponent::CreateDescriptor(),
  135. WhiteBalanceComponent::CreateDescriptor(),
  136. VignetteComponent::CreateDescriptor(),
  137. CubeMapCaptureComponent::CreateDescriptor(),
  138. #ifdef ATOMLYINTEGRATION_FEATURE_COMMON_EDITOR
  139. EditorAreaLightComponent::CreateDescriptor(),
  140. EditorCommonFeaturesSystemComponent::CreateDescriptor(),
  141. EditorPostFxSystemComponent::CreateDescriptor(),
  142. EditorDecalComponent::CreateDescriptor(),
  143. EditorDirectionalLightComponent::CreateDescriptor(),
  144. EditorBloomComponent::CreateDescriptor(),
  145. EditorHDRColorGradingComponent::CreateDescriptor(),
  146. EditorDepthOfFieldComponent::CreateDescriptor(),
  147. EditorDisplayMapperComponent::CreateDescriptor(),
  148. EditorExposureControlComponent::CreateDescriptor(),
  149. EditorSsaoComponent::CreateDescriptor(),
  150. EditorLookModificationComponent::CreateDescriptor(),
  151. EditorGridComponent::CreateDescriptor(),
  152. EditorHDRiSkyboxComponent::CreateDescriptor(),
  153. EditorSkyAtmosphereComponent::CreateDescriptor(),
  154. EditorImageBasedLightComponent::CreateDescriptor(),
  155. EditorMaterialComponent::CreateDescriptor(),
  156. EditorMaterialSystemComponent::CreateDescriptor(),
  157. EditorMeshSystemComponent::CreateDescriptor(),
  158. EditorMeshComponent::CreateDescriptor(),
  159. EditorPhysicalSkyComponent::CreateDescriptor(),
  160. EditorPostFxLayerComponent::CreateDescriptor(),
  161. EditorReflectionProbeComponent::CreateDescriptor(),
  162. EditorSpecularReflectionsComponent::CreateDescriptor(),
  163. RenderDebugEditorComponent::CreateDescriptor(),
  164. EditorRadiusWeightModifierComponent::CreateDescriptor(),
  165. EditorShapeWeightModifierComponent::CreateDescriptor(),
  166. EditorEntityReferenceComponent::CreateDescriptor(),
  167. EditorGradientWeightModifierComponent::CreateDescriptor(),
  168. EditorDeferredFogComponent::CreateDescriptor(),
  169. SurfaceData::EditorSurfaceDataMeshComponent::CreateDescriptor(),
  170. EditorAttachmentComponent::CreateDescriptor(),
  171. EditorOcclusionCullingPlaneComponent::CreateDescriptor(),
  172. EditorChromaticAberrationComponent::CreateDescriptor(),
  173. EditorPaniniProjectionComponent::CreateDescriptor(),
  174. EditorFilmGrainComponent::CreateDescriptor(),
  175. EditorWhiteBalanceComponent::CreateDescriptor(),
  176. EditorVignetteComponent::CreateDescriptor(),
  177. EditorCubeMapCaptureComponent::CreateDescriptor(),
  178. #endif
  179. });
  180. }
  181. AZ::ComponentTypeList GetRequiredSystemComponents() const override
  182. {
  183. return AZ::ComponentTypeList{
  184. azrtti_typeid<AtomLyIntegrationCommonFeaturesSystemComponent>(),
  185. #ifdef ATOMLYINTEGRATION_FEATURE_COMMON_EDITOR
  186. azrtti_typeid<EditorMaterialSystemComponent>(),
  187. azrtti_typeid<EditorMeshSystemComponent>(),
  188. azrtti_typeid<EditorCommonFeaturesSystemComponent>(),
  189. azrtti_typeid<EditorPostFxSystemComponent>(),
  190. #endif
  191. };
  192. }
  193. };
  194. } // namespace Render
  195. } // namespace AZ
  196. #if defined(O3DE_GEM_NAME)
  197. AZ_DECLARE_MODULE_CLASS(AZ_JOIN(Gem_, O3DE_GEM_NAME), AZ::Render::AtomLyIntegrationCommonFeaturesModule)
  198. #else
  199. AZ_DECLARE_MODULE_CLASS(Gem_CommonFeaturesAtom, AZ::Render::AtomLyIntegrationCommonFeaturesModule)
  200. #endif