mirror of
https://github.com/overte-org/overte.git
synced 2025-08-05 21:39:40 +02:00
fix particle entity
This commit is contained in:
parent
3d4f164a9f
commit
f891c37ac8
2 changed files with 13 additions and 1 deletions
|
@ -125,6 +125,14 @@ void ParticleEffectEntityRenderer::doRenderUpdateSynchronousTyped(const ScenePoi
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void* key = (void*)this;
|
||||||
|
AbstractViewStateInterface::instance()->pushPostUpdateLambda(key, [this] () {
|
||||||
|
withWriteLock([&] {
|
||||||
|
updateModelTransform();
|
||||||
|
_renderTransform = getModelTransform();
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void ParticleEffectEntityRenderer::doRenderUpdateAsynchronousTyped(const TypedEntityPointer& entity) {
|
void ParticleEffectEntityRenderer::doRenderUpdateAsynchronousTyped(const TypedEntityPointer& entity) {
|
||||||
|
@ -324,7 +332,10 @@ void ParticleEffectEntityRenderer::doRender(RenderArgs* args) {
|
||||||
// In trail mode, the particles are created in world space.
|
// In trail mode, the particles are created in world space.
|
||||||
// so we only set a transform if they're not in trail mode
|
// so we only set a transform if they're not in trail mode
|
||||||
if (!_particleProperties.emission.shouldTrail) {
|
if (!_particleProperties.emission.shouldTrail) {
|
||||||
transform = getModelTransform();
|
|
||||||
|
withReadLock([&] {
|
||||||
|
transform = _renderTransform;
|
||||||
|
});
|
||||||
transform.setScale(vec3(1));
|
transform.setScale(vec3(1));
|
||||||
}
|
}
|
||||||
batch.setModelTransform(transform);
|
batch.setModelTransform(transform);
|
||||||
|
|
|
@ -103,6 +103,7 @@ private:
|
||||||
BufferPointer _particleBuffer{ std::make_shared<Buffer>() };
|
BufferPointer _particleBuffer{ std::make_shared<Buffer>() };
|
||||||
BufferView _uniformBuffer;
|
BufferView _uniformBuffer;
|
||||||
quint64 _lastSimulated { 0 };
|
quint64 _lastSimulated { 0 };
|
||||||
|
Transform _renderTransform;
|
||||||
|
|
||||||
NetworkTexturePointer _networkTexture;
|
NetworkTexturePointer _networkTexture;
|
||||||
ScenePointer _scene;
|
ScenePointer _scene;
|
||||||
|
|
Loading…
Reference in a new issue