Graphics/ParticleSystem: Update interface
Former-commit-id: b58c3f194a32411eba2e321b00987d3c76e03cb0
This commit is contained in:
parent
0895a9273d
commit
58f91d6e39
|
|
@ -24,13 +24,13 @@ class NAZARA_GRAPHICS_API NzParticleSystem : public NzRenderable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NzParticleSystem(unsigned int maxParticleCount, nzParticleLayout layout);
|
NzParticleSystem(unsigned int maxParticleCount, nzParticleLayout layout);
|
||||||
NzParticleSystem(unsigned int maxParticleCount, const NzParticleDeclaration* declaration);
|
NzParticleSystem(unsigned int maxParticleCount, NzParticleDeclarationConstRef declaration);
|
||||||
NzParticleSystem(const NzParticleSystem& emitter);
|
NzParticleSystem(const NzParticleSystem& emitter);
|
||||||
~NzParticleSystem();
|
~NzParticleSystem();
|
||||||
|
|
||||||
void AddController(NzParticleController* controller);
|
void AddController(NzParticleControllerRef controller);
|
||||||
void AddEmitter(NzParticleEmitter* emitter);
|
void AddEmitter(NzParticleEmitter* emitter);
|
||||||
void AddGenerator(NzParticleGenerator* generator);
|
void AddGenerator(NzParticleGeneratorRef generator);
|
||||||
void AddToRenderQueue(NzAbstractRenderQueue* renderQueue, const NzMatrix4f& transformMatrix) const;
|
void AddToRenderQueue(NzAbstractRenderQueue* renderQueue, const NzMatrix4f& transformMatrix) const;
|
||||||
|
|
||||||
void ApplyControllers(NzParticleMapper& mapper, unsigned int particleCount, float elapsedTime);
|
void ApplyControllers(NzParticleMapper& mapper, unsigned int particleCount, float elapsedTime);
|
||||||
|
|
@ -43,13 +43,12 @@ class NAZARA_GRAPHICS_API NzParticleSystem : public NzRenderable
|
||||||
void* GenerateParticle();
|
void* GenerateParticle();
|
||||||
void* GenerateParticles(unsigned int count);
|
void* GenerateParticles(unsigned int count);
|
||||||
|
|
||||||
const NzParticleDeclaration* GetDeclaration() const;
|
const NzParticleDeclarationConstRef& GetDeclaration() const;
|
||||||
float GetFixedStepSize() const;
|
float GetFixedStepSize() const;
|
||||||
unsigned int GetMaxParticleCount() const;
|
unsigned int GetMaxParticleCount() const;
|
||||||
unsigned int GetParticleCount() const;
|
unsigned int GetParticleCount() const;
|
||||||
unsigned int GetParticleSize() const;
|
unsigned int GetParticleSize() const;
|
||||||
|
|
||||||
bool IsDrawable() const;
|
|
||||||
bool IsFixedStepEnabled() const;
|
bool IsFixedStepEnabled() const;
|
||||||
|
|
||||||
void KillParticle(unsigned int index);
|
void KillParticle(unsigned int index);
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,8 @@ NzParticleSystem(maxParticleCount, NzParticleDeclaration::Get(layout))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
NzParticleSystem::NzParticleSystem(unsigned int maxParticleCount, const NzParticleDeclaration* declaration) :
|
NzParticleSystem::NzParticleSystem(unsigned int maxParticleCount, NzParticleDeclarationConstRef declaration) :
|
||||||
m_declaration(declaration),
|
m_declaration(std::move(declaration)),
|
||||||
m_processing(false),
|
m_processing(false),
|
||||||
m_maxParticleCount(maxParticleCount),
|
m_maxParticleCount(maxParticleCount),
|
||||||
m_particleCount(0)
|
m_particleCount(0)
|
||||||
|
|
@ -51,11 +51,11 @@ m_particleSize(system.m_particleSize)
|
||||||
|
|
||||||
NzParticleSystem::~NzParticleSystem() = default;
|
NzParticleSystem::~NzParticleSystem() = default;
|
||||||
|
|
||||||
void NzParticleSystem::AddController(NzParticleController* controller)
|
void NzParticleSystem::AddController(NzParticleControllerRef controller)
|
||||||
{
|
{
|
||||||
NazaraAssert(controller, "Invalid particle controller");
|
NazaraAssert(controller, "Invalid particle controller");
|
||||||
|
|
||||||
m_controllers.emplace_back(controller);
|
m_controllers.emplace_back(std::move(controller));
|
||||||
}
|
}
|
||||||
|
|
||||||
void NzParticleSystem::AddEmitter(NzParticleEmitter* emitter)
|
void NzParticleSystem::AddEmitter(NzParticleEmitter* emitter)
|
||||||
|
|
@ -65,11 +65,11 @@ void NzParticleSystem::AddEmitter(NzParticleEmitter* emitter)
|
||||||
m_emitters.emplace_back(emitter);
|
m_emitters.emplace_back(emitter);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NzParticleSystem::AddGenerator(NzParticleGenerator* generator)
|
void NzParticleSystem::AddGenerator(NzParticleGeneratorRef generator)
|
||||||
{
|
{
|
||||||
NazaraAssert(generator, "Invalid particle generator");
|
NazaraAssert(generator, "Invalid particle generator");
|
||||||
|
|
||||||
m_generators.emplace_back(generator);
|
m_generators.emplace_back(std::move(generator));
|
||||||
}
|
}
|
||||||
|
|
||||||
void NzParticleSystem::AddToRenderQueue(NzAbstractRenderQueue* renderQueue, const NzMatrix4f& transformMatrix) const
|
void NzParticleSystem::AddToRenderQueue(NzAbstractRenderQueue* renderQueue, const NzMatrix4f& transformMatrix) const
|
||||||
|
|
@ -152,7 +152,7 @@ void* NzParticleSystem::GenerateParticles(unsigned int count)
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
const NzParticleDeclaration* NzParticleSystem::GetDeclaration() const
|
const NzParticleDeclarationConstRef& NzParticleSystem::GetDeclaration() const
|
||||||
{
|
{
|
||||||
return m_declaration;
|
return m_declaration;
|
||||||
}
|
}
|
||||||
|
|
@ -177,11 +177,6 @@ unsigned int NzParticleSystem::GetParticleSize() const
|
||||||
return m_particleSize;
|
return m_particleSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NzParticleSystem::IsDrawable() const
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void NzParticleSystem::KillParticle(unsigned int index)
|
void NzParticleSystem::KillParticle(unsigned int index)
|
||||||
{
|
{
|
||||||
///FIXME: Vérifier index
|
///FIXME: Vérifier index
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue