diff --git a/Assets/shaders/Billboard/Legacy/BillboardLit_Legacy.azsl b/Assets/shaders/Billboard/Legacy/BillboardLit_Legacy.azsl index f41a329..e86cd6b 100644 --- a/Assets/shaders/Billboard/Legacy/BillboardLit_Legacy.azsl +++ b/Assets/shaders/Billboard/Legacy/BillboardLit_Legacy.azsl @@ -37,7 +37,7 @@ struct VSOutput float3 m_emissiveColor : COLOR1; float m_alphaCursor : UV4; float4 m_clipPosition : UV5; -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT float3 m_shadowCoords[ViewSrg::MaxCascadeCount] : UV6; #endif }; @@ -57,7 +57,7 @@ VSOutput BillboardVS(VertexInput input) ComputeBillboardVertex(particleIdx, input.m_uv, vtxWorldPos, vtxNormal, vtxTangent, vtxUV0, vtxUV1, vtxTexFrameLerp); -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT // directional light shadow const uint shadowIndex = ViewSrg::m_shadowIndexDirectionalLight; if (o_enableShadows && shadowIndex < SceneSrg::m_directionalLightCount) @@ -162,7 +162,7 @@ ForwardPassOutput BillboardFS(VSOutput input, bool isFrontFace : SV_IsFrontFace) // Compute lighting: return ComputeParticleLighting( input.m_worldPosition, input.m_position, -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT input.m_shadowCoords, #endif vertexNormal, diff --git a/Assets/shaders/Common/LightingHelper.azsli b/Assets/shaders/Common/LightingHelper.azsli index 2ff3346..e62589a 100644 --- a/Assets/shaders/Common/LightingHelper.azsli +++ b/Assets/shaders/Common/LightingHelper.azsli @@ -22,7 +22,7 @@ #include #include -#define PK_O3DE_NEW_LIT 1 +#define PK_O3DE_NEW_LIT 0 // Helper function to compute forward lighting output for particles: ForwardPassOutput ComputeParticleLighting(float3 worldPosition, diff --git a/Assets/shaders/Mesh/Legacy/MeshLit_Legacy.azsl b/Assets/shaders/Mesh/Legacy/MeshLit_Legacy.azsl index a712be1..47f7c33 100644 --- a/Assets/shaders/Mesh/Legacy/MeshLit_Legacy.azsl +++ b/Assets/shaders/Mesh/Legacy/MeshLit_Legacy.azsl @@ -45,7 +45,7 @@ struct VertexOutput float2 m_texCoord0 : UV1; float m_alphaCursor : UV2; float4 m_clipPosition : UV3; -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT float3 m_shadowCoords[ViewSrg::MaxCascadeCount] : UV4; #endif }; @@ -60,7 +60,7 @@ VertexOutput MeshVS(VertexInput input) float4 vtxWorldPos = mul(mat, float4(input.m_position.xyz, 1)); float3 vtxNormal = mul(mat, input.m_normal.xyz); -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT // directional light shadow const uint shadowIndex = ViewSrg::m_shadowIndexDirectionalLight; if (o_enableShadows && shadowIndex < SceneSrg::m_directionalLightCount) @@ -133,7 +133,7 @@ ForwardPassOutput MeshFS(VertexOutput input, bool isFrontFace : SV_IsFrontFace) // Compute lighting: return ComputeParticleLighting( input.m_worldPosition, input.m_position, -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT input.m_shadowCoords, #endif vertexNormal, diff --git a/Assets/shaders/Ribbon/Legacy/RibbonLit_Legacy.azsl b/Assets/shaders/Ribbon/Legacy/RibbonLit_Legacy.azsl index d3a2aef..3e01441 100644 --- a/Assets/shaders/Ribbon/Legacy/RibbonLit_Legacy.azsl +++ b/Assets/shaders/Ribbon/Legacy/RibbonLit_Legacy.azsl @@ -58,7 +58,7 @@ struct VertexOutput float3 m_emissiveColor : COLOR1; float m_alphaCursor : UV2; float4 m_clipPosition : UV3; -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT float3 m_shadowCoords[ViewSrg::MaxCascadeCount] : UV4; #endif }; @@ -78,7 +78,7 @@ struct VertexOutputAtlasBlend float3 m_emissiveColor : COLOR1; float m_alphaCursor : UV4; float4 m_clipPosition : UV5; -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT float3 m_shadowCoords[ViewSrg::MaxCascadeCount] : UV6; #endif }; @@ -98,7 +98,7 @@ struct VertexOutputCorrectDeformation float3 m_emissiveColor : COLOR1; float m_alphaCursor : UV4; float4 m_clipPosition : UV5; -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT float3 m_shadowCoords[ViewSrg::MaxCascadeCount] : UV6; #endif }; @@ -132,7 +132,7 @@ VertexOutput RibbonVS(VertexInput input) output.m_bitangent = cross(input.m_tangent.xyz, input.m_normal) * input.m_tangent.w; output.m_worldPosition = input.m_position.xyz; -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT // directional light shadow const uint shadowIndex = ViewSrg::m_shadowIndexDirectionalLight; if (o_enableShadows && shadowIndex < SceneSrg::m_directionalLightCount) @@ -174,7 +174,7 @@ VertexOutputAtlasBlend RibbonVS_AtlasBlend(VertexInputAtlasBlend input) output.m_bitangent = cross(input.m_normal, input.m_tangent.xyz) * input.m_tangent.w; output.m_worldPosition = input.m_position.xyz; -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT // directional light shadow const uint shadowIndex = ViewSrg::m_shadowIndexDirectionalLight; if (o_enableShadows && shadowIndex < SceneSrg::m_directionalLightCount) @@ -216,7 +216,7 @@ VertexOutputCorrectDeformation RibbonVS_CorrectDeformation(VertexInputCorrectDef output.m_bitangent = cross(input.m_normal, input.m_tangent.xyz) * input.m_tangent.w; output.m_worldPosition = input.m_position.xyz; -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT // directional light shadow const uint shadowIndex = ViewSrg::m_shadowIndexDirectionalLight; if (o_enableShadows && shadowIndex < SceneSrg::m_directionalLightCount) @@ -267,7 +267,7 @@ ForwardPassOutput RibbonFS(VertexOutput input, bool isFrontFace : SV_IsFrontFace // Compute lighting: return ComputeParticleLighting( input.m_worldPosition, input.m_position, -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT input.m_shadowCoords, #endif vertexNormal, @@ -327,7 +327,7 @@ ForwardPassOutput RibbonFS_AtlasBlend(VertexOutputAtlasBlend input, bool isFront // Compute lighting: return ComputeParticleLighting( input.m_worldPosition, input.m_position, -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT input.m_shadowCoords, #endif vertexNormal, @@ -378,7 +378,7 @@ ForwardPassOutput RibbonFS_CorrectDeformation(VertexOutputCorrectDeformation inp // Compute lighting: return ComputeParticleLighting( input.m_worldPosition, input.m_position, -#if !PK_O3DE_DEVELOPMENT_LIT +#if !PK_O3DE_NEW_LIT input.m_shadowCoords, #endif vertexNormal, diff --git a/Code/CMakeLists.txt b/Code/CMakeLists.txt index 153634c..612ae69 100644 --- a/Code/CMakeLists.txt +++ b/Code/CMakeLists.txt @@ -3,7 +3,7 @@ # https://www.popcornfx.com/terms-and-conditions/ #---------------------------------------------------------------------------- -set(POPCORNFX_VERSION 2.13.3) +set(POPCORNFX_VERSION 2.13.4) set(POPCORNFX_LICENSE O3DE) if (PK_O3DE_MAJOR_VERSION GREATER_EQUAL 2205) diff --git a/Code/Include/PopcornFX/PopcornFXBus.h b/Code/Include/PopcornFX/PopcornFXBus.h index c79ad02..4458b1b 100644 --- a/Code/Include/PopcornFX/PopcornFXBus.h +++ b/Code/Include/PopcornFX/PopcornFXBus.h @@ -421,8 +421,8 @@ namespace PopcornFX }; using PopcornFXEmitterEditorComponentEventsBus = AZ::EBus ; - static const AZ::Uuid EmitterComponentTypeId = "{515957e3-8354-4048-8d6c-98628ef21804}"; - static const AZ::Uuid EditorEmitterComponentTypeId = "{B62ED02E-731B-4ACD-BCA1-78EF92528228}"; + static const AZ::Uuid EmitterComponentTypeId = AZ::Uuid("{515957e3-8354-4048-8d6c-98628ef21804}"); + static const AZ::Uuid EditorEmitterComponentTypeId = AZ::Uuid("{B62ED02E-731B-4ACD-BCA1-78EF92528228}"); class PopcornFXProfilerRequests : public AZ::EBusTraits diff --git a/Code/Platform/Linux/PAL_linux.cmake b/Code/Platform/Linux/PAL_linux.cmake index 5067019..2286831 100644 --- a/Code/Platform/Linux/PAL_linux.cmake +++ b/Code/Platform/Linux/PAL_linux.cmake @@ -4,5 +4,5 @@ #---------------------------------------------------------------------------- set(LY_PACKAGE_SERVER_URLS ${LY_PACKAGE_SERVER_URLS} "https://downloads.popcornfx.com/o3de-packages") -ly_associate_package(PACKAGE_NAME PopcornFX-${POPCORNFX_VERSION}-${POPCORNFX_LICENSE}-linux TARGETS PopcornFX PACKAGE_HASH a6017d358802145c5beface77b3519971805b0a27cd756e492c65c0a42f04792) +ly_associate_package(PACKAGE_NAME PopcornFX-${POPCORNFX_VERSION}-${POPCORNFX_LICENSE}-linux TARGETS PopcornFX PACKAGE_HASH e8034e0a559353d889a54c80abaa181be264e0996aeb1edc1672acde38ff8c94) set(PAL_TRAIT_POPCORNFX_SUPPORTED TRUE) \ No newline at end of file diff --git a/Code/Platform/Mac/PAL_mac.cmake b/Code/Platform/Mac/PAL_mac.cmake index ce8f5ec..253e855 100644 --- a/Code/Platform/Mac/PAL_mac.cmake +++ b/Code/Platform/Mac/PAL_mac.cmake @@ -4,5 +4,5 @@ #---------------------------------------------------------------------------- set(LY_PACKAGE_SERVER_URLS ${LY_PACKAGE_SERVER_URLS} "https://downloads.popcornfx.com/o3de-packages") -ly_associate_package(PACKAGE_NAME PopcornFX-${POPCORNFX_VERSION}-${POPCORNFX_LICENSE}-mac TARGETS PopcornFX PACKAGE_HASH 145dcf0b2680efce0da185ba9faf1f36604065e2481e948434d72a43fb65ed80) +ly_associate_package(PACKAGE_NAME PopcornFX-${POPCORNFX_VERSION}-${POPCORNFX_LICENSE}-mac TARGETS PopcornFX PACKAGE_HASH fcba5a5d26791e4d620690a6d3f77305b85ca64e46dd64e35a3e1b147aab8daa) set(PAL_TRAIT_POPCORNFX_SUPPORTED TRUE) \ No newline at end of file diff --git a/Code/Platform/Windows/PAL_windows.cmake b/Code/Platform/Windows/PAL_windows.cmake index 0f50079..d42733d 100644 --- a/Code/Platform/Windows/PAL_windows.cmake +++ b/Code/Platform/Windows/PAL_windows.cmake @@ -4,5 +4,5 @@ #---------------------------------------------------------------------------- set(LY_PACKAGE_SERVER_URLS ${LY_PACKAGE_SERVER_URLS} "https://downloads.popcornfx.com/o3de-packages") -ly_associate_package(PACKAGE_NAME PopcornFX-${POPCORNFX_VERSION}-${POPCORNFX_LICENSE}-windows TARGETS PopcornFX PACKAGE_HASH d89d368ae39f2afa29b490e38de81d39578c56c7e0e86dc63e00f81f23d94a5b) +ly_associate_package(PACKAGE_NAME PopcornFX-${POPCORNFX_VERSION}-${POPCORNFX_LICENSE}-windows TARGETS PopcornFX PACKAGE_HASH b96eb74160e670a52a705085b8b0de5b06677710097b3a380bb1bf04114d27db) set(PAL_TRAIT_POPCORNFX_SUPPORTED TRUE) diff --git a/Code/Source/Components/Emitter/PopcornFXEmitterEditorComponent.cpp b/Code/Source/Components/Emitter/PopcornFXEmitterEditorComponent.cpp index e0dce15..2033a52 100644 --- a/Code/Source/Components/Emitter/PopcornFXEmitterEditorComponent.cpp +++ b/Code/Source/Components/Emitter/PopcornFXEmitterEditorComponent.cpp @@ -81,8 +81,6 @@ namespace PopcornFX { if (auto *serializeContext = azrtti_cast(context)) { - serializeContext->ClassDeprecate("PopcornFXEmitterSettings", "{F01BC02D-E58B-44DD-A93E-60398D6E9B0D}"); - // Serializer: serializeContext->Class() ->Version(1) diff --git a/Code/Source/Integration/Render/AtomIntegration/MeshBatchDrawer.cpp b/Code/Source/Integration/Render/AtomIntegration/MeshBatchDrawer.cpp index 2ae02d3..b1937ac 100644 --- a/Code/Source/Integration/Render/AtomIntegration/MeshBatchDrawer.cpp +++ b/Code/Source/Integration/Render/AtomIntegration/MeshBatchDrawer.cpp @@ -114,7 +114,7 @@ bool CMeshBatchDrawer::MapBuffers(SRenderContext &ctx, const SRendererBatchDrawP { AZ_UNUSED(ctx); const u32 particleCount = drawPass.m_TotalParticleCount; - const u32 drawRequestsCount = drawPass.m_DrawRequests.Count(); + [[maybe_unused]] const u32 drawRequestsCount = drawPass.m_DrawRequests.Count(); CRenderManager *renderManager = m_RenderContext->m_RenderManager; const CParticleBuffers::SViewIndependent &viewIndependent = GetCurBuffers().m_ViewIndependent; @@ -178,7 +178,7 @@ bool CMeshBatchDrawer::EmitDrawCall(SRenderContext &ctx, const SRendererBatchDra const u32 particleCount = drawPass.m_TotalParticleCount; const SRendererBatchDrawPass_Mesh_CPUBB *meshDrawPass = static_cast(&drawPass); - const u32 drawRequestsCount = drawPass.m_DrawRequests.Count(); + [[maybe_unused]] const u32 drawRequestsCount = drawPass.m_DrawRequests.Count(); const CParticleBuffers::SViewIndependent &viewIndependent = GetCurBuffers().m_ViewIndependent; const CAtomRendererCache *rendererCache = static_cast(toEmit.m_RendererCaches.First().Get()); diff --git a/Code/Source/PopcornFXSystemComponent.cpp b/Code/Source/PopcornFXSystemComponent.cpp index a5a25f2..c322d35 100644 --- a/Code/Source/PopcornFXSystemComponent.cpp +++ b/Code/Source/PopcornFXSystemComponent.cpp @@ -93,7 +93,10 @@ namespace PopcornFX { void PopcornFXSystemComponent::Init() { - PopcornFXLibrary::InitNodeRegistry(ScriptCanvas::GetNodeRegistry().Get()); + if (ScriptCanvas::GetNodeRegistry().IsConstructed()) + { + PopcornFXLibrary::InitNodeRegistry(ScriptCanvas::GetNodeRegistry().Get()); + } } void PopcornFXSystemComponent::Activate() diff --git a/README.md b/README.md index 869b33d..4e1355f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # O3DE PopcornFX Plugin Integrates the **PopcornFX Runtime SDK** into **O3DE** as a Gem. -* **Version:** `v2.13.3` +* **Version:** `v2.13.4` * **O3DE:** `21.11`, `21.11.2`, `22.05.0` * **Supported platforms:** `Windows`, `MacOS`, `Linux`, `iOS`, `Android` diff --git a/gem.json b/gem.json index 76ab56e..93eade0 100644 --- a/gem.json +++ b/gem.json @@ -4,8 +4,8 @@ "license": "Community", "license_url": "https://www.popcornfx.com/popcornfx-community-license", "origin": "Persistant Studios - popcornfx.com", - "version": "2.13.3", - "last_updated": "2022-09-09", + "version": "2.13.4", + "last_updated": "2022-09-30", "type": "Code", "summary": "The PopcornFX Gem provides real-time FX solution for particle effects.", "canonical_tags": [