Merge remote-tracking branch 'origin/master'

This commit is contained in:
Wojtek Figat
2021-06-01 11:55:44 +02:00
10 changed files with 38 additions and 38 deletions

View File

@@ -1,6 +1,6 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
#include "AnimationManager.h"
#include "Animations.h"
#include "Engine/Profiler/ProfilerCPU.h"
#include "Engine/Level/Actors/AnimatedModel.h"
#include "Engine/Engine/Time.h"
@@ -9,12 +9,12 @@
Array<AnimatedModel*> UpdateList;
Array<Matrix> UpdateBones;
class AnimationManagerService : public EngineService
class AnimationsService : public EngineService
{
public:
AnimationManagerService()
: EngineService(TEXT("Animation Manager"), -10)
AnimationsService()
: EngineService(TEXT("Animations"), -10)
{
}
@@ -22,9 +22,9 @@ public:
void Dispose() override;
};
AnimationManagerService AnimationManagerInstance;
AnimationsService AnimationManagerInstance;
void AnimationManagerService::Update()
void AnimationsService::Update()
{
PROFILE_CPU_NAMED("Animations");
@@ -78,18 +78,18 @@ void AnimationManagerService::Update()
UpdateList.Clear();
}
void AnimationManagerService::Dispose()
void AnimationsService::Dispose()
{
UpdateList.Resize(0);
UpdateBones.Resize(0);
}
void AnimationManager::AddToUpdate(AnimatedModel* obj)
void Animations::AddToUpdate(AnimatedModel* obj)
{
UpdateList.Add(obj);
}
void AnimationManager::RemoveFromUpdate(AnimatedModel* obj)
void Animations::RemoveFromUpdate(AnimatedModel* obj)
{
UpdateList.Remove(obj);
}

View File

@@ -7,7 +7,7 @@ class AnimatedModel;
/// <summary>
/// The animations service.
/// </summary>
class AnimationManager
class FLAXENGINE_API Animations
{
public:

View File

@@ -2,7 +2,7 @@
#include "AnimatedModel.h"
#include "BoneSocket.h"
#include "Engine/Animations/AnimationManager.h"
#include "Engine/Animations/Animations.h"
#include "Engine/Engine/Engine.h"
#if USE_EDITOR
#include "Editor/Editor.h"
@@ -52,7 +52,7 @@ void AnimatedModel::UpdateAnimation()
if (AnimationGraph && AnimationGraph->IsLoaded() && AnimationGraph->Graph.IsReady())
{
// Request an animation update
AnimationManager::AddToUpdate(this);
Animations::AddToUpdate(this);
}
else
{
@@ -389,7 +389,7 @@ void AnimatedModel::BeginPlay(SceneBeginData* data)
void AnimatedModel::EndPlay()
{
AnimationManager::RemoveFromUpdate(this);
Animations::RemoveFromUpdate(this);
SetMasterPoseModel(nullptr);
// Base

View File

@@ -15,7 +15,7 @@
API_CLASS() class FLAXENGINE_API AnimatedModel : public ModelInstanceActor
{
DECLARE_SCENE_OBJECT(AnimatedModel);
friend class AnimationManagerService;
friend class AnimationsService;
public:
/// <summary>

View File

@@ -1,7 +1,7 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
#include "ParticleEffect.h"
#include "ParticleManager.h"
#include "Particles.h"
#include "Engine/Serialization/JsonTools.h"
#include "Engine/Serialization/Serialization.h"
#include "Engine/Level/Scene/SceneRendering.h"
@@ -270,7 +270,7 @@ void ParticleEffect::UpdateSimulation()
// Request update
_lastUpdateFrame = Engine::FrameCount;
_lastMinDstSqr = MAX_float;
ParticleManager::UpdateEffect(this);
Particles::UpdateEffect(this);
}
void ParticleEffect::UpdateBounds()
@@ -493,7 +493,7 @@ bool ParticleEffect::HasContentLoaded() const
void ParticleEffect::Draw(RenderContext& renderContext)
{
_lastMinDstSqr = Math::Min(_lastMinDstSqr, Vector3::DistanceSquared(GetPosition(), renderContext.View.Position));
ParticleManager::DrawParticles(renderContext, this);
Particles::DrawParticles(renderContext, this);
}
void ParticleEffect::DrawGeneric(RenderContext& renderContext)
@@ -679,7 +679,7 @@ void ParticleEffect::Deserialize(DeserializeStream& stream, ISerializeModifier*
void ParticleEffect::EndPlay()
{
CacheModifiedParameters();
ParticleManager::OnEffectDestroy(this);
Particles::OnEffectDestroy(this);
Instance.ClearState();
_parameters.Clear();
_parametersVersion = 0;

View File

@@ -1,9 +1,9 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
#include "ParticleEmitter.h"
#include "ParticleManager.h"
#include "ParticleSystem.h"
#include "ParticleEffect.h"
#include "Particles.h"
#include "Engine/Content/Factories/BinaryAssetFactory.h"
#include "Engine/Content/Upgraders/ShaderAssetUpgrader.h"
#include "Engine/Core/Log.h"
@@ -287,7 +287,7 @@ void ParticleEmitter::unload(bool isReloading)
UnregisterForShaderReloads(this);
#endif
ParticleManager::OnEmitterUnload(this);
Particles::OnEmitterUnload(this);
Graph.Clear();
#if COMPILE_WITH_GPU_PARTICLES

View File

@@ -1,6 +1,6 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
#include "ParticleManager.h"
#include "Particles.h"
#include "Engine/Content/Assets/Model.h"
#include "Engine/Core/Collections/Sorting.h"
#include "Engine/Core/Collections/HashSet.h"
@@ -112,8 +112,8 @@ namespace ParticleManagerImpl
using namespace ParticleManagerImpl;
bool ParticleManager::EnableParticleBufferPooling = true;
float ParticleManager::ParticleBufferRecycleTimeout = 10.0f;
bool Particles::EnableParticleBufferPooling = true;
float Particles::ParticleBufferRecycleTimeout = 10.0f;
SpriteParticleRenderer SpriteRenderer;
@@ -155,12 +155,12 @@ public:
ParticleManagerService ParticleManagerServiceInstance;
void ParticleManager::UpdateEffect(ParticleEffect* effect)
void Particles::UpdateEffect(ParticleEffect* effect)
{
UpdateList.Add(effect);
}
void ParticleManager::OnEffectDestroy(ParticleEffect* effect)
void Particles::OnEffectDestroy(ParticleEffect* effect)
{
UpdateList.Remove(effect);
#if COMPILE_WITH_GPU_PARTICLES
@@ -895,7 +895,7 @@ void DrawEmitterGPU(RenderContext& renderContext, ParticleBuffer* buffer, DrawCa
#endif
void ParticleManager::DrawParticles(RenderContext& renderContext, ParticleEffect* effect)
void Particles::DrawParticles(RenderContext& renderContext, ParticleEffect* effect)
{
// Setup
auto& view = renderContext.View;
@@ -1066,7 +1066,7 @@ void UpdateGPU(RenderTask* task, GPUContext* context)
#endif
ParticleBuffer* ParticleManager::AcquireParticleBuffer(ParticleEmitter* emitter)
ParticleBuffer* Particles::AcquireParticleBuffer(ParticleEmitter* emitter)
{
ParticleBuffer* result = nullptr;
ASSERT(emitter && emitter->IsLoaded());
@@ -1118,7 +1118,7 @@ ParticleBuffer* ParticleManager::AcquireParticleBuffer(ParticleEmitter* emitter)
return result;
}
void ParticleManager::RecycleParticleBuffer(ParticleBuffer* buffer)
void Particles::RecycleParticleBuffer(ParticleBuffer* buffer)
{
if (buffer->Emitter->EnablePooling && EnableParticleBufferPooling)
{
@@ -1138,7 +1138,7 @@ void ParticleManager::RecycleParticleBuffer(ParticleBuffer* buffer)
}
}
void ParticleManager::OnEmitterUnload(ParticleEmitter* emitter)
void Particles::OnEmitterUnload(ParticleEmitter* emitter)
{
PoolLocker.Lock();
const auto entries = Pool.TryGet(emitter);
@@ -1262,7 +1262,7 @@ void ParticleManagerService::Update()
{
if (emitterInstance.Buffer)
{
ParticleManager::RecycleParticleBuffer(emitterInstance.Buffer);
Particles::RecycleParticleBuffer(emitterInstance.Buffer);
emitterInstance.Buffer = nullptr;
}
}
@@ -1291,7 +1291,7 @@ void ParticleManagerService::Update()
data.Sync(effect->Instance, particleSystem, track.AsEmitter.Index);
if (!data.Buffer)
{
data.Buffer = ParticleManager::AcquireParticleBuffer(emitter);
data.Buffer = Particles::AcquireParticleBuffer(emitter);
}
data.Time += dt;
@@ -1355,7 +1355,7 @@ void ParticleManagerService::Update()
for (int32 j = 0; j < entries.Count(); j++)
{
auto& e = entries[j];
if (timeSeconds - e.LastTimeUsed >= ParticleManager::ParticleBufferRecycleTimeout)
if (timeSeconds - e.LastTimeUsed >= Particles::ParticleBufferRecycleTimeout)
{
Delete(e.Buffer);
entries.RemoveAt(j--);

View File

@@ -15,7 +15,7 @@ class Actor;
/// <summary>
/// The particles service used for simulation and emitters data pooling.
/// </summary>
class FLAXENGINE_API ParticleManager
class FLAXENGINE_API Particles
{
public:

View File

@@ -14,7 +14,7 @@
#define PARTICLE_EMITTER_MAX_RIBBONS 4
class ParticleEmitter;
class ParticleManager;
class Particles;
class GPUBuffer;
class DynamicIndexBuffer;

View File

@@ -1,9 +1,9 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
#include "ParticlesSimulation.h"
#include "ParticleManager.h"
#include "ParticleSystem.h"
#include "ParticleEmitter.h"
#include "Particles.h"
#include "Engine/Graphics/GPUBuffer.h"
#include "Engine/Graphics/GPUDevice.h"
@@ -15,7 +15,7 @@ ParticleEmitterInstance::~ParticleEmitterInstance()
{
if (Buffer)
{
ParticleManager::RecycleParticleBuffer(Buffer);
Particles::RecycleParticleBuffer(Buffer);
}
}
@@ -30,7 +30,7 @@ void ParticleEmitterInstance::ClearState()
#endif
if (Buffer)
{
ParticleManager::RecycleParticleBuffer(Buffer);
Particles::RecycleParticleBuffer(Buffer);
Buffer = nullptr;
}
}
@@ -72,7 +72,7 @@ void ParticleEmitterInstance::Sync(ParticleSystemInstance& systemInstance, Parti
// Sync buffer version
if (Buffer && Buffer->Version != Version)
{
ParticleManager::RecycleParticleBuffer(Buffer);
Particles::RecycleParticleBuffer(Buffer);
Buffer = nullptr;
}
}