Fix crash when updating GPU particle system without view buffers allocated
#1683
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
#include "Engine/Particles/ParticleEmitter.h"
|
#include "Engine/Particles/ParticleEmitter.h"
|
||||||
#include "Engine/Particles/ParticleEffect.h"
|
#include "Engine/Particles/ParticleEffect.h"
|
||||||
#include "Engine/Graphics/RenderTask.h"
|
#include "Engine/Graphics/RenderTask.h"
|
||||||
|
#include "Engine/Graphics/RenderBuffers.h"
|
||||||
#include "Engine/Graphics/GPUDevice.h"
|
#include "Engine/Graphics/GPUDevice.h"
|
||||||
#include "Engine/Graphics/GPUBuffer.h"
|
#include "Engine/Graphics/GPUBuffer.h"
|
||||||
#include "Engine/Graphics/GPUContext.h"
|
#include "Engine/Graphics/GPUContext.h"
|
||||||
@@ -168,7 +169,7 @@ void GPUParticles::Execute(GPUContext* context, ParticleEmitter* emitter, Partic
|
|||||||
if (viewTask)
|
if (viewTask)
|
||||||
{
|
{
|
||||||
bindMeta.Buffers = viewTask->Buffers;
|
bindMeta.Buffers = viewTask->Buffers;
|
||||||
bindMeta.CanSampleDepth = bindMeta.CanSampleGBuffer = true;
|
bindMeta.CanSampleDepth = bindMeta.CanSampleGBuffer = bindMeta.Buffers && bindMeta.Buffers->GetWidth() != 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -179,7 +180,7 @@ void GPUParticles::Execute(GPUContext* context, ParticleEmitter* emitter, Partic
|
|||||||
for (int32 i = 0; i < data.Parameters.Count(); i++)
|
for (int32 i = 0; i < data.Parameters.Count(); i++)
|
||||||
{
|
{
|
||||||
// Copy instance parameters values
|
// Copy instance parameters values
|
||||||
_params[i].SetValue(data.Parameters[i]);
|
_params[i].SetValue(data.Parameters.Get()[i]);
|
||||||
}
|
}
|
||||||
MaterialParamsLink link;
|
MaterialParamsLink link;
|
||||||
link.This = &_params;
|
link.This = &_params;
|
||||||
|
|||||||
Reference in New Issue
Block a user